scrapy框架开发爬虫实战——反爬虫策略与反反爬虫策略

反爬虫、反反爬虫

scrapy框架开发爬虫实战——反爬虫策略与反反爬虫策略_第1张图片

简单低级的爬虫有一个很大的优点:速度快,伪装度低。如果你爬取的网站没有反爬机制,爬虫们可以非常简单粗暴地快速抓取大量数据,但是这样往往就导致一个问题,因为请求过多,很容易造成服务器过载,不能正常工作。

 

网站怎样识别爬虫?

1、检查header信息,一般有User-Agent,Referer、Cookies等等。

  • User-Agent是检查用户所用客户端的种类和版本,在Scrapy中,通常是在下载器中间件中进行处理。
  • Referer是检查此请求由哪里来,通常可以做图片的盗链判断。在Scrapy中,如果某个页面url是通过之前爬取的页面提取到,Scrapy会自动把之前爬取的页面url作为Referfer。也可以通过上面的方式自己定义Referfer字段。
  • 网站可能会检测Cookiesession_id的使用次数,如果超过限制,就触发反爬策略。

2、 网站常常会针对IP访问频率统计,设置一个阈值,当超过这个阈值时,网站就会判断这个IP访问太过频繁,会短时间甚至永久性地禁止该IP地址的访问 。

3、网站往往会给一个浏览器隐藏的连接,正常的浏览网页的人看不见,也更加不会去点击。加入来访者点击了改连接,就会被网站认定是爬虫。

 

网站采取的反爬虫的策略?

1、设置IP限制访问:在一段时间内该IP是无法访问的

2、返回验证码:要求用户输入验证码,防止用户是机器

3、采用ajax异步加载:如果只是爬取静态网页的爬虫是什么都得不到的

4、爬虫陷阱:让你爬取的内容变成其他和本网站无关的信息

5、加速乐的服务:在访问之前先判断客户端的cookie正不正确。如果不正确,返回521状态码,set-cookie并且返回一段js代码通过浏览   器执行后又可以生成一个cookie,只有这两个cookie一起发送给服务器,才会返回正确的网页内容。

6、javascript渲染:网页开发者将重要信息放在网页中但不写入html标签中,而浏览器会自动渲染

你可能感兴趣的:(爬虫)