Scrapy无法访问内部级数据

mw3dktmi  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(97)

所以这里的问题是非常基本的Scrapy.我正在为json数据https://bama.ir/cad/api/search?vehicle=pride%2C151%2Cse&pageIndex=1抓取下面的url,一切都很好,我可以得到第一级标记,比如说'metadata'中的键值对,到目前为止一切都很好,但我正在寻找较低级别的值对,比如说data[data']['ads'],产量不起作用.问题是为什么以及如何得到它.

def parse(self, response):
    data = json.loads(response.body)
    yield data['data']['ads']
beq87vna

beq87vna1#

您正在正确地检索信息,问题是data['data']['ads']是一个列表,这不是Scrappy允许您返回的数据类型之一。
scrappy允许的数据类型包括字典、scrappy条目或scrappy请求,因此,示例的解决方案可以像将广告列表 Package 在字典中一样简单,例如:

def parse(self, response):
    data = response.json()
    yield {'ads': data['data']['ads']}

相关问题