如何修复错误:Spider错误处理GET网址

时间:2019-04-18 16:52:27

标签: python parsing request scrapy web-crawler

我正在抓捕电子商务网站,并抓取了多个类别,但其中一些产生了结果,但一些链接却出现了错误:Spider错误处理...请帮助我如何对其进行排序...

this is code

this is code 2

this is the error in console

1 个答案:

答案 0 :(得分:0)

根据控制台中的错误数据,错误发生在带有p参数?p=2的url上-这意味着您的抓取工具不会处理特定seacrch的第二页。
看来您的应用程序没有将元数据传输到下一个请求。

您的Spider的

parse_products方法需要parse方法中的元数据。
我想您负责搜索结果分页的parse_products代码如下:

yield Request(next_url,callback=self.parse_products)

如果设置为true,则您的应用程序将无法读取元数据并引发错误,例如从控制台中。
在这种情况下,您需要在parse_products方法中向下一页请求添加meta参数:

yield Request(next_url, meta = response.meta,callback=self.parse_products)