0

私は単純なスクレイピングコードを持っています:

import urllib
import re
import json

htmltext = urllib.urlopen("http://dx.com/p/GetProductInfoRealTime?skus=48616")

htmltext = json.load(htmltext)

print htmltext

以下を出力します。

{u'data': [{u'sku': 48616, u'isShowDiscount': False, u'currencycode': u'USD', u'issoldout': False, u'adddate': u'10/28/2010', u'discount': 0, u'currencysymbol': u'US$', u'price': u'4.20', u'listprice': u''}], u'success': True}

データを正しい形式で取得する方法がわからないので、コロンの左側の用語を右側の用語のキーとして使用できます。

私はしたいと思います

print htmltext["sku"] 
48616

また

print htmltext["price"]
4.20

これに関するアイデアはありますか?

4

2 に答える 2

4

あなたが持っているのは、キーを持つ辞書ですdata

したがって、次のようにして内部リストにアクセスします。

htmltext[u"data"]

次に にアクセスする"sku"には、 の値のリスト内の辞書にアクセスする必要があり"data"ます。

inner_dict = htmltext[u"data"][0]

print(inner_dict[u"sku"])

次のような関数を定義できます。

def get_data(dict_index, key):
        return htmltext[u"data"][dict_index][key]

print(get_data(0, u"sku"))
于 2013-04-09T00:36:54.243 に答える