有一个词叫做“三月爬虫”,指的是有些学生临到毕业了,需要收集数据写毕业论文,于是在网上随便找了几篇教程,学了点requests甚至是urllib和正则表达式的皮毛,就开始写爬虫疯狂从网上爬数据。

这些爬虫几乎没有做任何隐藏自己的举动,不换IP,不设置headers,不限制速度,极易被有反爬的网站封锁,极易给没反爬的小网站造成流量压力。

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

事实真的是这样吗?

我们来做个实验,首先使用Chrome访问httpbin.org/headers 这个网站可以显示当前你的headers。运行效果如下图所示:

最后,我们仅仅设置一个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%确信你就是用的自动化程序登录网页版微信的时候,封禁你就是自然而然的事情了。

如有疑问,欢迎在评论区一起讨论!

如有不正确的地方,欢迎指导!

为什么你会被限制登录网页版微信?相关推荐

  1. 微信群控系统制作系列一——java模拟登录网页版微信

    PS:很多人咨询我怎么做手机群控系统,因此我开了个制作群控系统的系列,准备分五期讲解群控系统的制作.前两篇是基础内容. 今天做个简单的java模拟登录网页版微信. 既然要做模拟登录,那么我们一定要了解 ...

  2. 快速解决无法登录网页版微信的问题,亲测有效

    在公司开发测试阶段,需要使用网页版微信对开发页面进行调试,但是我的两个微信号在扫码登录网页版微信时,都出现了以下提示: 为了你的帐号安全,此微信号不能登录网页微信.你可以使用Windows微信或Mac ...

  3. 利用python实现微信自动回复群发等操作(不需要登录网页版微信)

    目前微信网页版限制登录,wxpy等模块操作微信的手段都无法使用了,前阵时间发现了WechatPCAPI这个模块,通过dll注入的手段实现操作微信,下面分享一下该模块的使用方法. 运行环境 Wechat ...

  4. python登录网页版微信发送消息

    # coding=utf-8 import datetime import time from selenium import webdriverurl = "https://wx2.qq. ...

  5. Python+机器人:(wxpy问题)我的微信号不能登录网页版微信,还能使用微信机器人吗?

  6. python爬虫+网页版微信实时获取消息程序

    项目需求: 目的是24小时爬取各种软件的讯息并且以一种统一的方式集中发送给自己. 实现方法: 利用python的requests库以及wxpy库,前者用来爬取网页,后者用来将爬到的内容发送给自己. 程 ...

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

    点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 有一个词叫做"三月爬虫",指的是有些学生临到毕业了,需要收集数据写毕业论 ...

  8. android华为登录云服务,华为云服务登录网页版

    华为云服务登录网页版是一款专为华为手机用户打造的相册管理安全储存软件,拥有一键快速恢复删除照片,安全下载查看图片,实时云端同步保存,赶紧下载体验一下吧. 华为云服务登录网页版特色 [轻松查找照片] 智 ...

  9. selenum登录网页版有道词典

    登录网页版有道词典,需注意它有两个复选框,这里只勾选第一个 代码 # -*- coding: utf-8 -*- # Time: 2020-06-22 # Author: zuojileiimport ...

最新文章

  1. java怎么导入别人的代码_怎么用eclipse将图标导入到java代码中
  2. cocos2d-x开发中wstring和string的转换
  3. python 合并两个排序的链表
  4. linux postfix 日志,linux – 如何计算Postfix的mailq的消息?
  5. js中遍历注册事件时索引怎么获取
  6. 【文末有赠书】从历史角度讲现代数学
  7. group by 分组函数 的用法
  8. 也谈谈让好马吃回头草
  9. Win7电脑下载的软件无法安装怎么办?
  10. 计算机机房需求调查表,弱电工程设计流程及客户需求调研表
  11. iperf3 for android8,iperf-3.0.7_android.zip
  12. Matlab 可见光波段植被指数
  13. Ngnix 配置文件快速入门
  14. 什么叫做风险纳税人?如何解除风险
  15. powerdesigner中把用例关系线设置成直线
  16. 推特狗狗档案数据集清洗分析及可视化
  17. 用Python爬取网易云热门评论(亲测有效)
  18. 0基础学图论!——图论精讲/详细/新手理解概念必看!
  19. 关于@EnableConfigurationProperties 注解
  20. 解决【v-show 有时失效】问题

热门文章

  1. 老司机的奇怪noip模拟T1-guanyu
  2. 论文阅读《A Multi-State Constraint Kalman Filter for Vision-aided Inertial Navigation》1
  3. 理解sklearn.processing.scale中使用有偏总体标准差
  4. mysql 常用日期时间计算
  5. linux grub 编辑器,KGRUBEditor: 可视化的 GRUB 编辑器
  6. 利用FFmpeg编码器将JPG图片进行H.264编码原理
  7. 数据库oracle--PL/SQL的使用-如何按f8只执行一行
  8. 手机比较版本差异工具
  9. 查询条件中含有加号_中国邮储银行信用卡公众号账单查询
  10. 借鉴-牛人开发的网络搜索工具