很多学习python的小伙伴都会去编写一些爬虫脚本来为自己抓取数据,但是作为一个网页来说肯定是不希望经常被爬虫去访问的,所以反爬措施和技术也就应运而生了。这篇文章刚好要来给大家介绍的内容就是,能够限制和拦截python爬虫的反爬功能。

(1)编写过python爬虫的小伙伴都知道,python里面的爬虫都是通过requests模块以及urllib模块这两个来向网站发送请求来爬取数据的。但是只要是仔细去观察和查看源码就可以发现,这两个模块所发送出来的请求都是HTTP1.0或者时候1.x的。
如果在网站上面配置一下,将http1.0请求全部都给拦截下来,那么就买球官方网站可以将python爬虫都给拦截下来了。
(2)而这个反爬措施的实现也是非常简单的,只需要去修改一下web代理服务器Nginx中的配置就好了。如果是使用IIS或者是阿里云之类的服务器也是一样,在外面套一个Nginx作为代理服务器就行,它也是通过http协议来访问的,示例如下:
这个配置条件的意思就是,如果当前访问网站的请求不是HTTP协议2.0版本的,那么就直接返回444状态码。这个状态码的作用就是不返回任何数据并且将请求连接给断开,这样就限制了python爬虫的访问。
(3)这种方式还有一个问题就是,会将正常使用HTTP1.x协议的用户都给拦截掉。其实没有必要去太过于在意这个事情,因为现在大部分的浏览器基本采用的都是HTTP2.0,并且有相关的支持了。
以上就是关于“如何拦截Python爬虫?什么反爬技术可以限制Python爬虫”的全部内容了,希望对你有所帮助。
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
Python发送http请求怎么做?Python发送http请求的方法是什么
Python怎么搭建scrapy框架项目?Python如何使用scrapy框架创建爬虫
Python如何利用Scrapy抓取网页?Python怎么用Scrapy框架爬取网页数据