Scrapy爬取页面错误原因汇总

错误原因汇总

1.网址错误
2.缩进问题
3.网页有反爬虫
反爬虫解决方案:

  • 基本:请求头user-agent
  • IP代理
  • 改机器人协议以及cookie
    ROBOTSTXT_OBEY = False
    COOKIES_ENABLED = False
  • 设置延迟
     DOWNLOAD_DELAY = 3
  • 在分段函数中所要爬取的url有反爬虫
    解决方案:在请求的url后面添加头文件如以下,头文件可以从问题三的附录中随机取

url获取出错示例

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方法实现了。后来,准备用原始代码记录错误时,发现页面已经更新为“&”,该报错已经不纯在)。

相关文档:

https://blog.csdn.net/weixin_41931602/article/details/80200695

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值