如何在Scrapy中统计空响应?
我想知道在使用Scrapy的时候,有多少请求没有返回任何数据,以及具体是哪些请求没有数据。有很多情况,比如当返回404错误时,或者服务器虽然返回了一些东西,但因为格式不对而没有抓取到数据(比如我想从某种特定名称的div中提取数据,但在某个网址中实际上并不存在这个div)。谢谢!
1 个回答
3
比如,当我从一个特定名称的div中提取数据时,结果发现这个div在某个网址上其实并不存在。
在HTTP的术语中,这并不是一个空的响应。你的选择器没有找到匹配的内容。
你需要自己实现这个逻辑:
sel = Selector(response)
data = sel.xpath('//div[@class="class"]').extract()
if not data:
# increment failure stats here
return
# else fill the item
对于统计信息,你可以使用一个Scrapy统计收集器。