python scrapy request页面抓取异常报错及处理

来源:互联网 发布:优质的企业排名优化 编辑:程序博客网 时间:2024/05/17 00:10

url = response.selector.xpath('//*[@class=\'lbf-pagination-item-list\']//li[9]/a/@href').extract()[0]print(url)yield scrapy.Request(url, callback=self.parse)

如上图代码,scrapy 爬虫过程中,在实现翻页时,偶然遇见如下报错:

Missing scheme in request url:

百度许多同学总结了一下原因:
1.requests版本太低:
2.scrapy.Resquest(URL),url 应该是一个list.....

但是实际问题并不是这些原因所致

经过反复研究,发现  上图代码中获取的到 url  链接内部,用“;”替代了“&”。因此scrapy 不能识别 该网页所致。

解决办法:

1.改用URL 拼接而成的url list 做yield 调用self.parse
2.页面本来可能纯在一些问题。等待页面更新,正常页面链接不应该使用“;”(博主,刚开始使用1方法实现了。后来,准备用原始代码记录错误时,发现页面已经更新为“&”,该报错已经不纯在)。