再见!itchat,再见!网页版微信


今日推文说明

二条:你不知道的PyCharm命令行用法
三条:朴实无华,Python 练手100 例
web

↑ 关注 + 星标 ,后台回复【大礼包】送你Python自学大礼包正则表达式



有一个词叫作“三月爬虫”,指的是有些学生临到毕业了,须要收集数据写毕业论文,因而在网上随便找了几篇教程,学了点requests甚至是urllib和正则表达式的皮毛,就开始写爬虫疯狂从网上爬数据。这些爬虫几乎没有作任何隐藏本身的举动,不换IP,不设置headers,不限制速度,极易被有反爬的网站封锁,极易给没反爬的小网站形成流量压力。

浏览器

后来,他们又不知道看了哪篇文章,知道要使用代理IP,要修改UserAgent。因而,他们真的就只在headers设置UserAgent,其余项一律不设置。你给他指出来,他还振振有词:你看我这样能爬到数据啊,headers里面其余项目没有用。微信

事实真的是这样吗?网络

咱们来作个实验,首先使用Chrome访问http://httpbin.org/headers 这个网站能够显示当前你的headers。运行效果以下图所示:app

而后,再使用requests不设置headers请求这个URL,运行效果以下图所示:机器学习

最后,咱们仅仅设置一个UserAgent看看效果:编辑器

能够看出来,仅仅设置一个UserAgent,与用浏览器访问的 Headers 仍是有不少不同的地方。缺了不少项。网站只须要检测缺的这几项,就能肯定你是用程序发起的请求仍是用浏览器发的请求。学习

说回微信网页版的问题。不少人使用wxpy或者 itchat 这种第三方库经过 Python 控制本身的微信号,实现不少自动化操做。但不久之后就反馈说本身被限制登陆网页版微信了,觉得是否是本身的行为被微信发现了,例如一秒钟内发了几十条消息,或者同时回复了好几我的的消息。大数据

但我要说的是,大家过高估本身了,微信要发现大家,根本就不用这么麻烦。它直接检查headers就能够了。

咱们来看一下wxpy的源代码中,涉及到网络请求的地方:

wxpy是基于itchat二次开发的,登陆功能是经过 itchat 来实现的。咱们再来看看itchat里面发起网络请求的地方:

其中的 self.core.s就是一个 requests 的 Session,以下图所示:

看到了吗?这两个库,他们在headers里面只放了UserAgent,其余字段都没有放。因此在你登陆的瞬间,微信就已经知道你这个帐号没有用浏览器登陆了!

因此,那些用了wxpy或者itchat就被限制登陆网页版微信的人,不要怀疑,大家就是被这两个库给害了。这两个库里面涉及到网络请求的相关代码,水平一看就是一个学了两三天爬虫的人写出来的代码。

你用这两个库就是让你的微信号去送死。

不只仅是这两个库,咱们再看看不少人使用的Python 弹幕包,更夸张,在获取斗鱼直播信息的时候,直接用requests请求网址,连headers都没有设置,以下图所示:


这纯粹就是送死行为。

如今大网站的机器行为对抗团队通常会把检测爬虫与封禁爬虫分开。由于反爬虫策略多了之后,不可避免存在误伤的状况,为了尽量下降误伤率,检查爬虫时会对请求的可疑性进行打分,当你出现疑似爬虫行为时,给你的请求加上一些分数,某些行为分数高,某些行为分数低。当你总积分达到必定程度时,再调用封禁的流程。

因为 HTTP是无状态的,若是你要爬的网站不须要登陆,那么也许你频繁更换 IP 有用(阿布云的代理池就是被这样污染的)。

可是对于微信这种须要登陆的状况,你的全部可疑行为的积分都会直接关联到你的这个帐号上。因而,一开始可能你用 wxpy 登陆网页版微信没问题,这个时候你的可疑性积分还不够高,可能确实有一些老古董浏览器的 Headers 就是少了不少项?可是你已经在怀疑名单里面了。一旦你又出现了其余可疑行为致使可疑性积分继续增长,那么当微信已经能够100%确信你就是用的自动化程序登陆网页版微信的时候,封禁你就是天然而然的事情了。


    

(完)


        
          
     
         
         
         
          
          
                   
          
     
         
           
             
        
            
            
            
             
             
                      
             
        
            
推荐阅读

雷军,扎克伯格,Linus 等巨佬的办公桌

推荐两个团队技术号

        
          
     
         
         
         
          
          
                   
          
     
         
            
              
         
             
             
             
              
              
                       
              
         
             




Github研习社:
目前是由国内985博士,硕士组成的团体发起并运营,主要分享和研究业界开源项目,学习资源,程序设计,学术交流。 回复就无套路送你一份自学大礼包。



机器学习研习社
目前是由国内985博士,硕士组成的团体发起并运营。主要分享和研究机器学习、深度学习、NLP 、Python,大数据等前沿知识、干货笔记和优质资源。 回复就无套路送你一份机器学习大礼包。

            
              
         
             
             
             
              
              
                       
              
         
             

后台回复【大礼包】送你2TPython自学资料

好消息:Python学习交流群,已经创建,猛戳连接加入

本文分享自微信公众号 - Python绿色通道(Python_channel)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索