在一个公众号号主群里,有新人进来的时候就会甩出这样的一个列表。
这如果一个一个加到公众号转载白名单里,可能就想退群了
。于是就有了做一个批量添加公众号转载白名单的想法。
我立刻就想到了用油猴脚本()来实现。
Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。 虽然有些受支持的浏览器拥有原生的用户脚本支持,但 Tampermonkey 将在您的用户脚本管理方面提供更多的便利。它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本运行状况速览、内置的编辑器等众多功能, 同时Tampermonkey还有可能正常运行原本并不兼容的脚本。
简单的说,在控制台执行的任何 操作,处理 、发送网络请求等,都可以通过油猴脚本在某个网站打开的时候去自动执行。
之所以可以想到油猴脚本,是因为前段时间我已经写过了一个油猴脚本,主要是可以过滤美团一些内部网站的评论区中的 (我也不知道为什么会有评论区刷 的习惯),甚至在美团内部得到了各个官方号的推荐。主要原理就是重写了全局的 函数,拿到数据后将评论区内容进行一遍过滤,然后再 出去,通过这个脚本对油猴有了一个初步的认识。
走一遍添加转载白名单的过程,抓一抓接口然后在控制台执行一下,看是否能成功。
首先搜索会发一个请求。
选择搜索出来的公众号,添加也会发一次请求。
将刚刚添加的 公众号删除,然后将请求导出 代码,在控制台执行。
完美!如下图,执行完上边的网络请求后成功添加了「小甜文」。
有了上边的实验基本可以确定这个功能肯定是可以做的,我们只需要传入一个公众号数组进行遍历,首先发送 请求得到相关信息,最后将信息传入到 请求中即可。
为了方便用户操作,我们需要加一些 元素,比如 这个 ,因为之前没在油猴脚本写过 ,所以同样先在控制台试了一下。
上边的代码在控制台执行,成功添加了 。
之后就是再写一个对话框,用来让用户输入公众号,这个过程慢慢调样式就可以了。
还有一个关键的地方就是发送请求的参数有一个 参数。
这个 参数从哪里来呢?因为大学的时候写过一些爬虫,所以对这个参数很敏感,第一反应就是去网页的源代码中拿。
下边验证了一下,打开源代码搜索 。
会发现 中有很多 ,我们随便从一个 元素中去拿即可。
Ps:
原本以为上边就足够了,文章写完把下边的整个名单都输入的时候
没想到翻了车。。。由于调用的过快,微信把搜索公众号的接口给我封了,而且不是封的 ,是按照账号封的,重新登录获取新的 也不行了。无法通过公众号名称搜了,只能通过公众号的微信号来搜。
为了防止上边的问题出现,代码里需要停顿一下,模拟一个 函数。
调用完搜索接口停顿 秒,调用完添加接口停顿 秒 。
pps:
又找了一个号测试了一下,发现事情并不简单。虽然限制了速度,但另一个号测试的时候发现搜索接口调用到大概 次的时候,出现了同样的问题,不能通过公众号名称搜索,只能通过微信号搜索。我猜测,公众号的名称搜索接口的每日调用量做了限制,会在第二天某个时间点恢复。
第二天的时候,果然搜索接口正常了,然后我又重复了几次批量调用,果然又不能正常搜索了。。。
使用方法:
在浏览器插件市场安装 Tampermonkey,Chrome 的安装地址如下
https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo
img
打不开的话我下了一个油猴脚本离线的包,可以从百度网盘下,链接: https://pan.baidu.com/s/1S0KmVvuoYGjul3l1XCh-mA 密码: 6bfd ,下载好后把文件拖到 Chrome 的扩展程序页面就自动安装了
然后通过下边的链接安装公众号脚本:
https://greasyfork.org/zh-CN/scripts/428231-%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%89%B9%E9%87%8F%E6%B7%BB%E5%8A%A0%E5%85%A8%E5%B1%80%E5%8F%AF%E8%BD%AC%E8%BD%BD%E8%B4%A6%E5%8F%B7
安装成功后进入微信公众号 -> 原创 -> 全局可转载账号,会发现多了一个「批量添加」的 ,输入所有的公众号然后添加即可。
很久没有写过原生的 操作了,有种奇妙的感觉。再次感叹下油猴脚本的强大,大家浏览器上有什么痛点的话也可以试一试。另外还见识到了微信的风控能力。。。应该就是为了防止用户去爬公众号的信息。
文章本来周一早上就该发出来了,没想到逻辑都好了却遇到了微信这一出。用几个公众号做了几次实验,得出的结论大概是:
公众号搜索接口调用频率太快以及调用次数超过某个值的时候,就无法通过公众号名称搜索公众号了,只能通过微信号进行搜索。调用过快引起的话过一会儿就恢复了,但如果是调用过多需要第二天才能恢复了。