当前位置:   article > 正文

使用scrapy做爬虫遇到的一些坑:网站常用的反爬虫策略,如何机智的躲过反爬虫Crawled (403)

crawled (403)

在这幅图中我们可以很清晰地看到爬虫与反爬虫是如何进行斗智斗勇的。

在学习使用爬虫时,我们制作出来的爬虫往往是在“裸奔”,非常的简单。

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

于是许多网站为了保护自己的服务器,往往会采用反爬虫技术来“狙击”爬虫,让爬虫无法正常工作。


网站一般是如何进行识别爬虫呢?总的来说有以下几种:

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

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

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

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

那么网站识别出爬虫后就会像上图一样,开始给爬虫设置各种关卡啦!

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43148
推荐阅读
相关标签
  

闽ICP备14008679号