Scrapy,提取空div

问题描述

我正在抓捕一个有数据点和标签的网站。它们全都以1:1的比例。除了某些时间,数据点可能为空。当我在选择器上运行我的extract_all()时。我得到了所有想要的数据点,但是它忽略了空字符串。我不想让它们忽略这些,因为我先得到标签,然后得到数据点,然后将它们一对一地同步。问题出在当div在页面上为空然后同步丢失时。如果div的文本内容区域中没有任何内容,如何向extract_all添加选项以返回空字符串。或在有数据点和标签时进行刮擦的更好方法。我在此处添加了一张图片,以用于当它是完美记录时,以及当div空列表存在问题时。

https://i.stack.imgur.com/3fcd7.png https://i.stack.imgur.com/pkFI9.png

解决方法

请不要提取所有内容。处理单个数据点行:

results = []

for data_point_row in response.xpath('//your/xpath/to/select/a/div/or/table/row'):
    label = data_point_row.xpath('./select/a/label').get()
    value = data_point_row.xpath('./select/a/value').get()
    results.append({'label': label,'value': value})