使用scrapy爬数据遇到的那些error坑~~

error 1:

Spider error processing <GET http://*****.com> (referer: None)

ValueError('Missing scheme in request url :%s'%self._url')

解决方法:

主要看ValueError('Missing scheme in request url :%s'%self._url')这一部分的提示错误。我在网上找了很多解决方法都说什么start_urls应该是个list而不是string。但是我不是这个问题,照改了还是有同样的错误。

所以我自己理解了一下这个错误说明,意思应该是说我返回的URL是 //www.58che.com/6055/,程序找不到这个地址。很明显, //www.58che.com/6055/缺少了https:的前缀,所以它找不到。

原来的程序:

subclass_link=subclass.xpath('@href').extract_first() #获取车型链接

所以我在程序里返回的URL加上了https:的判别:

subclass_link=subclass.xpath('@href').extract_first() #获取车型链接
subclass_link=subclass_link if 'https:' in subclass_link else ('https:' + subclass_link)
# 在原来的基础上加上了第二句

error 2:

TypeError: Object of type 'Selector' is not JSON serializable 

error原因:有一个数据类型不是json格式的,从Traceback再往上看一下报错误的是第几行,然后看看那个对象,是不是一个可以转换成json的对象。

我一看,还真是!这里的错误显示我有一个叫“u_brick”的变量没有extract出来 还是selector对象~~ 把这个变量的内容.extract()就好了!

Scrapy执行时遇到500 Internal Server Error通常是服务器端的错误,这可能不是Scrapy本身的问题,而是目标网站的服务器响应或配置导致的。这种错误可能有以下几个原因: 1. **服务器限制**:请求过于频繁或超过网站设定的限制,服务器可能暂时关闭连接,或者有反虫机制触发了屏蔽。 2. **编码问题**:如果发送的请求头或数据没有正确设置编码,可能会导致服务器无法解析。 3. **URL结构错误**:Scrapy在尝试访问的页面URL格式不正确,或者已被删除或移动。 4. **API接口变更**:目标网站进行了API或内容结构的更新,Scrapy虫代码不再适用。 5. **网络问题**:如果中间网络存在问题,也可能会导致这样的错误。 6. **Scrapy设置问题**:Scrapy的配置文件可能设置了某些不当的参数,如User-Agent、延迟时间等。 解决方法通常包括: 1. **检查并调整请求频率**:使用合适的延时和设置User-Agent以降低对服务器的压力。 2. **分析错误日志**:查看Scrapy的日志输出,找出具体的错误信息,有时错误消息会包含提示。 3. **更新虫代码**:针对API或网站结构变化进行相应调整。 4. **测试代理或换IP**:如果怀疑是由于网络问题,可以尝试使用代理IP或者切换到不同的网络环境。 5. **联系网站管理员**:如果问题持续,可能是网站本身的问题,可尝试联系网站管理员。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值