1
要するに、小売用のUPCに価格を比較するスクリプトがあります。Python MySQLインクリメントしていますが挿入しません。
クエリはデータを挿入しませんが、ID番号を増やします(操作ではデータなし)。クエリを貼り付けて、それをMySQLにコピー&ペーストすると、ペーストが正常に行われます。操作の
ステップ:
グラブUPC upc.txt
からウェブサイト
に比較価格とウェブサイト(ウェブサイト参照リンクが含まれています(実際のリンクを待つ)
送信を取得します。データベースに
実際にデータが挿入されていないというエラーは表示されません。操作の自動増分IDが変更されました。
サイドノート、これは完全に草案です。私はSQLインジェクションがオープンであることを認識しています。 fetchAll
をやって、なぜ
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
ようなことができ..完全に働いた:) – hinteractive02
それは喜んhinteractive02 @ :) – Alfabravo