Posted on 2019-03-01 18:42 BoomOoO 阅读() 评论() 编辑 收藏

—恢复内容开始—

1、数组越界问题(list index out of range)

原因:第1种可能情况:list[index]index超出范围,也就是常说的数组越界。

   第2种可能情况:list是一个空的, 没有一个元素,进行list[0]就会出现该错误,这在爬虫问题中很常见,比如有个列表爬下来为空,统一处理就会报错。

 

解决办法:从你的网页内容解析提取的代码块中找找看啦(人家比较习惯xpath + 正则),加油 ~

—————————————————华丽的分隔符————————————————————

2、http状态代码没有被处理或不允许(http status code is not handled or not allowed)

原因:第1种情况:就是你的http状态码没有被识别,需要在settings.py中添加这个状态码信息,相当于C语言中的#define预处理宏定义命令吧

           第2种情况:403是网页状态码,表示访问拒绝或者禁止访问。应该是你触发到网站的反爬虫机制了。

 

解决办法:如果是第1种情况,在你的setting.py中,添这么一句短小精悍的话就OK了,紧接着就等着高潮吧您呐:HTTPERROR_ALLOWED_CODES = [403]

      如果是第2种情况,a.伪造报文头部user-agent(网上有详细教程不用多说)

               

                                          b.使用可用代理ip,如果你的代理不可用也会访问不了

                                             

                                          c.是否需要帐户登录,使用cookielib模块登录帐户操作
           如果以上方法还是不行,那么你的ip已被拉入黑名单静止访问了。等一段时间再操作。如果等等了还是不行的话:
                                          d.使用phatomjs或者selenium模块试试。
           还不行使用别的scrapy爬虫框架看看。
           以上都不行,说明这网站反爬机制做的很好,爬不了了,没法了,不过我觉得很少有这种做得很好的网站

—————————————————华丽的分隔符————————————————————

 

 

 

 

此篇文章持续更新,未完待续….

欢迎大家留下自己的问题,互相讨论,互相学习,互相总结,,,,

 

—恢复内容结束—

版权声明:本文为beiyi888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/beiyi888/p/10458174.html