我正在尝试获取存储在此json中的所有数据
作为我可以加载和访问的字典。我仍然不熟悉蜘蛛,但我相信我需要 response.xpath()。extract() 然后json.load()。split()从中获取元素。 但是我不确定确切的语法,因为此文件中有太多元素。
答案 0 :(得分:1)
您可以使用re_first()
从JavaScript代码中提取JSON,然后使用loads()
模块来json
>
import json
d = response.xpath('//script[contains(., "windows.PAGE_MODEL")]/text()').re_first(r'(?s)windows.PAGE_MODEL = (.+?\});')
data = json.loads(d)
property_id = data['propertyData']['id']
答案 1 :(得分:0)
您是对的,它的工作原理与您在问题中建议的一样。
您可以通过简单的xpath查询来检查“ windows.PAGE_MODEL”的脚本标签。
请根据您的请求在回调中尝试以下代码:
d = response.xpath('//script[text()[contains(., "windows.PAGE_MODEL")]]/text()').get()
from json import loads
data = loads(d)