这是我第三次写煎蛋的爬虫了,用以前的代码跑,发现居然被封掉了,于是花了半天时间了解了一下Scrapy,然后写了个爬虫。

这次爬虫有许多特点,首先是随机 User Agent ,在 setting.py 中定义了一份,然后在 middlewares.py 中随机取用。然后是 HTTP 代理 IP 池,自动从网上获取 IP 以及端口,并且多线程验证该代理 IP 是否有效,然后依然在 middlewares.py 中随机取用。接着是禁用 cookies ,设置下载延迟和重试次数,允许重定向,维护一下 Request 的 Bug ,以及一些避免被识别为爬虫的措施。

但是这个爬虫依然有问题,那就是遇到 503 返回的时候会结束,这貌似是 Scrapy 的 BUG 。还有就是有一点点的几率无法匹配到 oo 数和 xx 数等一些信息,我怀疑是加载不完整的原因,但是我懒得调试,毕竟数量实在是微乎其微。

Github: https://github.com/haipz/JandanPicture

转载保留版权:http://haipz.com/blog/i/6536 - 海胖博客