微信申请解除限制网页打不开(为什么你会被限制登录网页版微信?)



摄影:产品经理

几乎是半价。那是一家通常要排很长时间队的餐馆。

有一个词叫“三月爬虫”,意思是有些同学毕业后需要收集数据写毕业论文,于是就在网上随便找了几个教程,了解了一点requests甚至urllib和正则表达式,就开始编写爬虫疯狂地从网上抓取数据。这些爬虫几乎不做任何隐藏自己的事情,不改IP,不设头标,不限速,容易被有防爬的网站屏蔽,很容易给没有防爬的小网站造成流量压力。

后来他们也不知道看的是哪篇文章。他们知道他们想要使用代理IP和修改用户代理。因此,他们实际上只在头中设置了UserAgent,其他什么都没有设置。你给他指出来,他振振有词的说,你看,我可以这样爬数据。标题中的其他项目是无用的。

真的是这样吗?

让我们做一个实验。首先,使用Chrome访问http://httpbin.org/headers网站,显示你当前的标题。操作效果如下图所示:



然后,使用requests请求这个不设置头的URL,运行效果如下图所示:



最后,我们设置一个用户代理来看看效果:



可以看出,仅仅设置一个UserAgent和浏览器访问的头还是有很多区别的。许多物品不见了。网站只需要检测丢失的项目,就可以确定您是用程序发出请求,还是用浏览器发出请求。

让我们回到微信网页。很多人使用wxpy或itchat等第三方库,通过Python控制自己的微信号,实现很多自动化操作。但不久后,我就举报被限制登录网页版微信,以为我的行为被微信发现,比如一秒钟发几十条消息,或者同时回复几个人的消息。

但我想说的是,你太高估自己了。如果微信想找你,根本不会这么麻烦。它只是直接检查标题。

我们来看看wxpy的源代码,这里涉及到网络请求:



Wxpy基于itchat的二次开发,通过itchat实现登录功能。我们来看看itchat中发起网络请求的地方:

微信网页限制怎么解除



Self.core.s是一个请求会话,如下图所示:



看到了吗?在这两个库中,他们只将UserAgent放在头中,而不放在其他字段中。所以你登录的那一刻,微信就已经知道你的账号不是用浏览器登录的了!

所以那些使用wxpy或者itchat后被限制登录网页版微信的人,不要怀疑你是被这两个库害的。这两个库涉及与网络请求相关的代码。一看就是一个学了两三天爬虫的人写的代码。

你用这两个库让你的微信号死掉。

不仅仅是这两个库,我们来看看很多人用的Python弹幕包。更夸张的是,在获取宇都信息时,我们直接使用requests来请求网址,甚至连头都不设置,如下图所示:



这是纯粹的死亡。

目前大网站的机器行为对抗团队一般会把检测爬虫和封禁爬虫分开。因为反爬虫的策略很多,难免会出现误伤。为了尽可能降低误伤率,在检查爬虫时会对可疑请求进行评分。当你有可疑的爬虫行为时,你会给你的请求增加一些分数。有些行为得分高,有些行为得分低。当你的总分达到一定程度,再调用ban流程。

因为HTTP是无状态的,如果你不需要登录你要爬的网站,那么你频繁换IP可能会有用(阿布云的代理池就是这么被污染的)。

但是在微信的情况下,你需要登录的地方,你所有的可疑行为点都会直接链接到你的账号上。所以,一开始,你用wxpy登录网页版微信可能还行。这个时候你的可疑分还不够高。可能有一些老浏览器的标题缺失很多?但你已经在嫌疑人名单上了。一旦你有其他可疑行为,并且可疑分值持续增加,在微信可以100%确定你在使用自动化程序登录网页版微信的情况下,自然会封禁你。

Python学习交流群

为了让大家能够更即时的交流和学习,我们建立了一个Python学习交流群。如果有同学想入群,可以加下面的助手微信,他会拉大家入群的~

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友