为了网站的性能和保证正常用户对网站的访问,很多网站都对来自客户端非正常的访问进行了屏蔽。
爬虫由于是自动运行,很容易访问过快过多甚至造成DDOS攻击。
第一步:首先你得爬虫要伪装成一个正常的用户,比如设置reffer、cookie、browser client、token等信息,这些通过分析HTTP包可以进行分析和伪造。
第二步:其次,来自同一个IP的多次访问也会被服务器禁止并将IP加入黑名单。你可以去淘宝买m个IP,然后起m个线程,每个线程绑定不同的IP代理,
并且每个线程平均5秒访问一次网站,不然你的IP会被很快全部被加入黑名单。
另外,很多网站都提供了移动入口,比如手机访问入口是wap.baidu.com、wap.weibo.com,这些入口往往技术还不太成熟,对客户端的访问限制较少,你的爬虫直接请求这些入口成功率会更高(有个叫中国爬萌的组织,每天都在爬取新浪微博,访问的就是微博的移动入口)。
爬虫不要给目标网站过多压力,比如对方只有1台服务器,你开个while(true)一直扫,会影响正常用户的访问的。