json ディクショナリと配列を理解するのに問題があります。Web サイトから情報をスクレイピングするスクリプトがあります。
models.txt は、次のようなモデル番号の単なるリストです。
30373
30374
30375
json_descriptions.txt は、必要なキーのリストです
sku
price
listprice
issoldout
コードは次のとおりです。
import urllib
import re
import json
modelslist = open("models.txt").read()
modelslist = modelslist.split("\n")
descriptionlist = open("json_descriptions.txt").read()
descriptionlist = descriptionlist.split("\n")
for model in modelslist:
htmltext = urllib.urlopen("http://dx.com/p/GetProductInfoRealTime?skus="+model)
htmltext = json.load(htmltext)
if htmltext['success'] == True:
def get_data(dict_index, key):
return htmltext[u"data"][dict_index][key]
for description in descriptionlist:
info = description, (get_data(0,description))
print info
else:
print "product does not exist"
情報を印刷すると、次のようになります。
sku 30373
price 9.10
listprice 17.62
issoldout False
つまり、info[0] は次のようになります。
sku
price
listprice
issoldout
および情報[1]は次のとおりです。
30373
9.10
17.62
False
これを行う方法があるかどうか知りたいです: ループ 1 =['sku','30373','price','4.90','listprice','0','issoldout','False']
ループ 2 =['sku','30374','price','10.50','listprice','0','issoldout','False']
info[0] = sku
info[1] = 30373
info[2] = price
info[3] = 4.90
info[4] = listprice
info[5] = 0
info[6] = issoldout
info[7] = False
そして、次のループスルーのために新しいリストでそれを繰り返します。
私は使ってみましたが、それinfo = json.dumps(info)
はただ与えるだけですinfo[0] = [[[[
info[1] = """"
info[2] = spli