在学习Scrapy用法的实验过程中,拟“得到”某网站信息时,出现大量的[scrapy.core.engine] DEBUG和[scrapy.spidermiddlewares.httperror]报错。
刚学习Scrapy视频半个小时,顿时有点懵B!抱着解决问题就是最好的学习收获的原则,开始解决尝试。
第一步:确认传给具体解析def_prase的href链接有效性。结果:网页均可以在浏览器中正常打开。
第二部:核对参数setting和items的py文件中的配置是否异常。结果:正常。
第三步:再次检查代码是否出现“低级”错误。结果:正常。
第四步:网上查找类似案例套用解决。结果:对应不上。
第五步:“死马当活马医”自己分析原因。具体思路如下:
1、网络正常,网页正常打开正常、配置正常、代码正常,说明自身和通道环节基本上没有问题。
2、首页(目类内容)获取正常,进入目类中具体页面获取数据时报错,估算一下,获取量有点频繁,是否跟“得到”cateyes数据时被关“小黑屋”类似。当时,正常调试具体代码,但提前写了获取N页数据,run了几次就获取不到了,页面提示IP频繁,暂不能访问。
3、尝试加一段time.sleep(1)尝试效果。结果,具体页面数据运行正常。
结论:
在本机IP做“得到”网站数据的实验时,切记!最好设定每页的延迟时间。特别时新手入门时,每部验证代码时,不自觉的“scrapy crwal XXXXX”,多刷几次,数据死活获取不到会让人崩溃和状况。
注:
以上行为系学习研究的测试活动,所获取到数据已删除或不保存。