“加载”后访问Json数据

时间:2019-01-08 11:39:44

标签: json python-3.x web-scraping scrapy

在该站点人员的大力帮助下,我设法从亚马逊页面上获取了一些Json数据。例如,数据看起来像这样。

https://jsoneditoronline.org/?id=9ea92643044f4ac88bcc3e76d98425fc

首先,我有一个字符串列表,该列表将转换为字符串。

script = response.xpath('//script/text()').extract()
#For example, I need the variationValues data
variationValues = re.findall(r'variationValues\" : ({.*?})', ' '.join(script))[0]

然后,在我的代码中,我有这个名字(不是一个好名字,稍后会更改)

variationValuesJson = json.loads(variationValues)

variationValuesJson实际上是一本字典,所以要做这样的事情

variationValues["size_name"][3]

应返回“ 550万美元”

我的问题是,在运行程序时,我得到的字符串索引必须是整数错误。有人知道怎么了吗?

注意:我尝试使用“ size_name”而不是“ size_name”,同样的错误

1 个答案:

答案 0 :(得分:3)

variationValues["size_name"][3]    #this is the raw string which you have converted to variationValuesjson

我认为这不是您真正想要的。

您的代码应该是这个。

variationValuesJson['size_name'][3]    #use variationValuesjson ;)