科技速递|微信群总是有人发广告?看我用Python写一个机器人消灭他
写在前面微信群牛皮癣 , 指的是在微信群里面恶心群发小广告的用户 , 是微信群主最痛恨的一波人 。 如果熟悉早起的读者可以知道我有一个技术交流群 , 但是自从建群以来就饱受小广告的困扰 。 他们伪装成正常人的样子混进群然后不停的发送广告轰炸 , 严重的打乱了群内的技术交流气氛
【科技速递|微信群总是有人发广告?看我用Python写一个机器人消灭他】 或者是一声不吭的去骚扰每一个群成员
虽然不清楚是什么能够驱使他们这样不折不扣的努力成为最强微信群牛皮癣(可能是钞能力) , 但是在太多次的骚扰之后 , 我决定拿起Python消灭这些小广告 。
第一回合其实实现思路很简单 , 总共分两步
- 1.识别广告用户
- 2.写代码移除之
- 没有设置微信号
- 头像为网红女生
- 微信名为特殊符号或者表情
- 没发过朋友圈
- 没有朋友圈背景图
- 通过后不会有除进群申请外的其他回复
不知从何时起 , 虽然这些库还能使用但是微信基本已经禁止了大部分人的网页版微信登陆权限 , 因此当我使用多个微信号分别扫完登陆微信的二维码之后 , 无一例外的提示我
1203 为了你的帐号安全 , 此微信号已不允许登录网页微信 。 你可以使用Windows微信或Mac微信在电脑端登录 。
这就让人头疼了 , 总不能手动的去一个一个check我的几千个微信好友吧 , 于是我开始思考是否有其他的解决办法 。第二回合如果你经常写Python爬虫 , 那么你会知道在有些情况下 , 与其使用Requests对付一些恶心的反爬措施 , 不如Selenium操作起来方便 。 所以在发现想使用基于微信API的思路失效后 , 我将目光转向了相对笨一点的方法————pynput
pynput是一款使用Python来控制和监控电脑鼠标、键盘的第三方库 , 说到这里你大概明白我想怎么做了 , 直接用API取数据搞不定 , 那么我就像Selenium一样 , 模拟点击一个一个好友来实现我想要的操作 。
下面简单说一下这个库 , 因为没有太多依赖库所以安装起来很简单 , 直接pip install pynput即可 , 使用起来也很简单 , 对于鼠标操作只依赖坐标 , 看个demo
就像上面GIF演示的一样 , 先导入pynput并实例一个鼠标控制器 , 接着将微信在状态栏的位置提交给mouse.position , 这样鼠标就会移动到该位置 , 再使用mouse.press来模拟鼠标点击即可自动打开微信 。 那么问题来了 , 如何获得我想要的位置的坐标?
pynput除了使可以使用Controller来控制鼠标 , 也可以监控鼠标 , 比如使用下面的代码就可以记录下程序启动后鼠标的每一个点击操作所在的位置
推荐阅读
- 科技日报|塑料微粒影响几何?人类认知仍不足
- 辽篮|CBA速递:郭艾伦轰39分辽篮开门红,宏远也有好消息,周琦又变壮
- cba|CBA速递:马布里遭遇开门黑,辽篮双喜临门,宏远也有重大喜讯
- 七号人称说科技|华为始料未及?台积电又成了“炮灰”?新风暴说来就来
- 大众新闻|众安科技荣获“今日·保险中介榜”年度Insurtech独角兽
- 雷科技|朋友圈都在秀的“互联网勋章”到底是什么?
- 快科技|小米10至尊纪念版妙享功能升级:手机与Windows电脑合体
- 七号人称说科技|再给华为一颗糖?美国到底在打什么“算盘”?,先给华为一巴掌
- 量子科技,爆发!有项关键技术中国已领先世界
- 暖日科技盈如|这到底是为什么?,俄罗斯华人给出劝告:最好别跟俄罗斯女孩结婚