浅谈爬虫与反爬虫技术

日期: 2020-05-20 14:01

  现如今因为搜索引擎的流行,网络爬虫已经成了很普及网络技术了,除了专门做搜索的Google、Yahoo、微软、百度以外,几乎每个大型门户网站都会有做自己的搜索引擎,叫得出来名字的就几十种,就更不用说还有各种不知名的小小爬虫了。对于一个内容型驱动的网站来说,受到网络爬虫的光顾是不可避免的。
 
 
  一些智能的搜索引擎爬虫的爬取频率比较合理,对网站资源消耗比较少,但是很多糟糕的网络爬虫,对网页爬取能力很差,经常并发几十个,甚至上百个请求循环重复抓取,这种爬虫对中小型网站往往是毁灭性的打击,特别是一些缺乏爬虫编写经验的程序员写出来的爬虫程序破坏力极强,造成的网站访问压力会非常大,会导致网站访问速度缓慢,甚至有可能无法访问。
 
  现在的网站一般会从三个方面来反爬虫:用户请求的Headers、用户行为、网站目录和数据加载方式.前两种是比较容易遇到的,所以大多数网站都从这些角度来反爬虫。第三种会有一些应用ajax的网站会采用,这样就增大了爬取的难度,减少了初级爬虫的爬取麻烦,同时也不会阻止到一些搜索引擎的爬取。
 
  通过Headers反爬虫:从用户请求的Headers反爬虫是最常见的反爬虫策略。很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过。

相关新闻