gpt4 book ai didi

Python MySQL递增但不插入

转载 作者:行者123 更新时间:2023-11-28 23:18:25 25 4
gpt4 key购买 nike

简而言之,我有一个脚本可以使用我们的零售 UPC 来比较价格。

查询不会插入数据,但会增加 ID 号(在操作中……没有数据)。当我粘贴查询并将其复制并粘贴到 MySQL 时,它粘贴成功。

操作步骤:

从 upc.txt 中获取 UPC

在网站上比较

获取价格和网站(网站包含推荐链接(等待实际链接)

发送到数据库

没有错误显示 - 只是成功插入。没有插入实际数据 - 唯一改变的是操作中的自动递增 ID。

旁注,这完全是草稿。我意识到 SQL 注入(inject)是开放的。

import urllib
import re
import MySQLdb
import requests

upcfile = open("upc.txt")

upcslist = upcfile.read()


newupclist = upcslist.split("\n")

conn = MySQLdb.connect(host="127.0.0.1",user="root",passwd="",db="Items")
i=0
while i < len(upcslist):
url = "https://www.(REMOVED).com/search"+newupclist[i]+"?view=list"
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
regex = '<td class="price-column">(.+?)</td>'
pattern = re.compile(regex)
price = re.findall(pattern,htmltext)
itemLinkRegex = '<td class="link-column"><a href="(.+?)" target="_blank">'
itemLinkPattern = re.compile(itemLinkRegex)
itemLink = re.findall(itemLinkPattern,htmltext)
p=0
try:
while p <len(price):
try:
r = requests.get(itemLink[p], allow_redirects=False)
itemLinkFormat = r.headers['Location']
except:
itemLinkFormat = itemLink[p]
pass
#print "Sent to Database Competitor Price: UPC ["+newupclist[i]+"] - Price: ", price[p]+" Item URL: ", itemLinkFormat
pre = ''.join(price[p].split('$', 1))
priceformat = ''.join(pre.split(',', 1))
skuNumber = newupclist[i]
try:
query = "INSERT INTO Entry (SKU, Price, Item_link) VALUES ("
query = query+"'"+skuNumber+"','"+priceformat+"','"+itemLinkFormat+"')"
print query
x = conn.cursor()
x.execute(query)
row = x.fetchall()
except:
print "Error, Not a valid number to enter into database."
pass
p+=1
p+=1
i+=1
except:
pass
i+=1

最佳答案

不明白为什么要执行 fetchAll,尝试 con.commit() 然后 cur.rowcount 检查受影响的行。

另外,你的收获可能是这样的

except cur.Error, e:

if con:
con.rollback()

print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)

关于Python MySQL递增但不插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42842788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com