百度蜘蛛是大数据时代的重要角,发挥着重大的作用。百度蜘蛛在从首页登陆后抓取首页后调度会计算其中所有的连接,返回给百度蜘蛛进行下一步的抓取连接列表,百度蜘蛛再进行下一步的抓取,通过百度蜘蛛下载回来的网页放到补充数据区,通过各种程序计算过后才放到检索区,才会形成稳定的排名。
但是,通往成功的路上总是布满荆棘,目标网站总是设置各种限制来阻止百度蜘蛛的正常工作。那么,目标网站一般是通过哪些方式来限制百度蜘蛛呢,百度蜘蛛又该如何突破这些限制呢?
网站优化外包注意很多网站,可以先用代理ip+ua(ua库随机提取)访问,之后会返回来一个cookie,那ip+ua+cookie就是一一对应的,然后用这个ip、ua和cookie去采集网站,同时能带上Referer,这样效果会比较好。
有些网站反爬取的措施应该比较强的。访问之后每次清除缓存,这样能有效规避部分网站的检测;但是有些网站更严格的判断,如果都是新链接从ip发出,也会被判定拒绝(直接403拒绝访问),因此有些百度蜘蛛客户会去分析网站的cookies缓存内容,然后进行修改。
浏览器的标识(User-Agent)也很重要,用户都是一种浏览器,也是容易判断作弊,要构造不同的浏览器标识,否则容易被判定百度蜘蛛。用代理访问之后,浏览器标识需要修改,建议浏览器用phantomjs框架,这个可以模拟其他浏览器的标示(需要标示库的话,可以通过API接口实现各种浏览器的采集模拟。
加密:网站的请求如果加密过,那就看不清请求的本来面目,这时候只能靠猜测,通常加密会采用简单的编码,如:base64、urlEncode等,如果过于复杂,只能穷尽的去尝试。
本地IP限制:很多网站,会对百度蜘蛛ip进行限制,这时候要么使用代理IP,要么伪装ip。