我试图产生一个标签的值,这个标签并不总是出现在我用 Scrapy 抓取的页面中。我使用的是 extract()
函数,而不是 extract_first()
。因此我似乎无法设置默认值,如 this SO post 中所建议的那样.
这行不通:
def parse(self, response):
yield {
'comments': response.css('[itemprop=commentCount]::attr(content)').extract(default=None)
}
当我想使用 extract()
而不是 extract_first()
时,如何将 None
设置为默认值?
非常感谢!
最佳答案
试试这个语法:
{'comments': response.css('[itemprop=commentCount]::attr(content)').extract() or None}
如果 response.css(CSS)
的结果是空列表,那么 None
将被分配为 comments
键的值。否则,将分配实际值
关于python - 当带有 extract() 的 Scrapy 选择器返回 None 时如何设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53238215/