如何拦截Python爬虫?什么反爬技术可以限制Python爬虫

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

如何拦截Python爬虫?什么反爬技术可以限制Python爬虫

文章插图
(1)编写过python爬虫的小伙伴都知道,python里面的爬虫都是通过requests模块以及urllib模块这两个来向网站发送请求来爬取数据的 。但是只要是仔细去观察和查看源码就可以发现,这两个模块所发送出来的请求都是HTTP1.0或者时候1.x的 。
如果在网站上面配置一下,将http1.0请求全部都给拦截下来,那么就可以将python爬虫都给拦截下来了 。
【如何拦截Python爬虫?什么反爬技术可以限制Python爬虫】(2)而这个反爬措施的实现也是非常简单的,只需要去修改一下web代理服务器Nginx中的配置就好了 。如果是使用IIS或者是阿里云之类的服务器也是一样,在外面套一个Nginx作为代理服务器就行,它也是通过http协议来访问的,示例如下:
if ($server_protocol !~* "HTTP/2.0") {  return 444;}这个配置条件的意思就是,如果当前访问网站的请求不是HTTP协议2.0版本的,那么就直接返回444状态码 。这个状态码的作用就是不返回任何数据并且将请求连接给断开,这样就限制了python爬虫的访问 。
(3)这种方式还有一个问题就是,会将正常使用HTTP1.x协议的用户都给拦截掉 。其实没有必要去太过于在意这个事情,因为现在大部分的浏览器基本采用的都是HTTP2.0,并且有相关的支持了 。
以上就是关于“如何拦截Python爬虫?什么反爬技术可以限制Python爬虫”的全部内容了,希望对你有所帮助 。

    推荐阅读