python - 在 sql whit python 中插入两个列表
问题描述
通过网络抓取,我得到了两个列表,一个是名称,另一个是产品的价格。如何同时在两列中输入这些值,以便每个产品的价格都在它前面?
import mysql.connector
import re
from bs4 import BeautifulSoup
import requests
list_esm=[]
list_gheymat=[]
cnx = mysql.connector.connect(user='root', password='',
host='127.0.0.1',
database='vorodi')
cursor = cnx.cursor()
user = str(input())
url =('https://divar.ir/s/tehran?q=')
search = requests.get(url + user)
search.text
soup = BeautifulSoup(search.text, 'html.parser')
esm = soup.find_all('div', attrs={'class':'kt-post-card__title'})
gheymat = soup.find_all('div', attrs={'class':'kt-post-card__top-description'})
for i in esm:
w = re.sub(r'\s+',' ',i.text).strip()
list_esm.append(w)
for i in gheymat:
q= (re.sub(r'^\s*',' ' ,i.text).strip())
list_gheymat.append(q)
query_1 = """INSERT INTO divar_2 (name,price) VALUES (%r,%r);""" %(tuple(list_esm),tuple(list_gheymat))
cursor.execute(query_1)
cnx.commit()
cnx.close()
解决方案
鉴于两个列表的长度相同,您可以迭代它们:
for i in range(len(list_esm)):
query_1 = """INSERT INTO divar_2 (name,price) VALUES (%r,%r);""" %(list_esm[i], list_gheymat[i])
print(query_1)
推荐阅读
- tree - 无法通过缓存/记忆来停止 Prolog 节点的创建
- powershell - Azure 管道错误“Windows PowerShell 处于非交互模式。”
- c# - 如何捕获从任务异常继承的任务用户定义异常
- php - if-else 条件下的会话消息问题
- ionic-framework - 将代码从 ionic 3 更新到 ionic 4 时出现“运行子进程 ng 时发生错误”错误
- javascript - 在隐身模式下使用 GM_getvalue 存储数据
- html - 更改 CSS 代码后,边框颜色和框阴影颜色不会改变
- python - Tensorflow 使用上一次迭代中的值计算指标的 update_op
- asp.net - 如何从 DataTable 中获取 1 列数据并在 ASP.Net 上使用 VB.Net 将其显示到 Lable
- apache-flink - 为什么申请任务管理器时'-n'或'-yn'之类的参数不起作用