0
1つのWebサイトを解析してMySQLに書きたいと思います。特定のフィールドの下で各URLを解析するためには11のフィールドが必要です。JSONファイルをMySQLにマップ
from bs4 import BeautifulSoup
import requests
import urllib.request
import csv
import pymysql
con = pymysql.connect(host = 'localhost',user = 'root',passwd = 'root',db = 'micro')
with open(r"C:\Users\New folder\url_list.txt") as f:
urls = [u.strip('\n') for u in f.readlines()]
page = 0
while page < 1000:
try:
soup = BeautifulSoup(requests.get(urls[page]).content, "html.parser")
text = soup.select("head script[type=text/javascript]")[-1].text
start = text.find('dataLayer =') + len('dataLayer =')
end = text.rfind(';')
rows = text[start:end].strip().split('\n')
except:
pass
for d in rows:
print(d)
page = page + 1
print(page)
は、ここで私はMYSQLにこのJSONをマッピングすることができますどのように私のJSONファイル
[{
'page':'ProductPage',
'OAM':'False',
'storeNum':'029',
'brand':'ASUS',
'productPrice':'199.99',
'SKU':'576181',
'productID':'443759',
'mpn':'RT-AC3200',
'ean':'886227780914',
'category':'Wireless Routers',
'isMobile':'False'
}]
[{
'page':'ProductPage',
'OAM':'False',
'storeNum':'029',
'brand':'Linksys',
'productPrice':'79.99',
'SKU':'244129',
'productID':'432549',
'mpn':'EA6350',
'ean':'745883644780',
'category':'Wireless Routers',
'isMobile':'False'
}]
です。ここに私が必要とする出力があります。 Here is what i needありがとうございます。
1.これはJSONではありません。 2. 'json'をインポートしますが、使用しません。 3. 'urls2'を作成しますが、' urls'だけを使用します。 4. JSONファイルとコードの間の接続は何ですか? 5.単純なSQL挿入をしたいと思うように聞こえます。あなたは実際に試しましたか?私たちはここにあなたのためのコードを書くのではありません。 6.裸の 'except:pass'は恐ろしいアイデアであり、少なくとも例外を出力します。 –