告别重复粘贴和敲字,一分钟导出微信群成员列表!

2018-08-05 20:15:38 244点赞 2468收藏 145评论

告别重复粘贴和敲字,一分钟导出微信群成员列表!

背景

8月的某一天,剁主计划的所有剁主被要求做两件事情——一是督促分剁群的所有值友把群昵称改为严格匹配什么值得买昵称,二是昵称限期改完之后把群昵称导出以便跟值得买后台的用户昵称一一比对。这两件事情都不简单,但相比之下,导出群成员的昵称列表是可以通过技术手段简化的。于是我重拾好久不碰的VB Script,为自己、也为各位辛苦的剁主写了一小段简化这一任务的脚本。

既然写了,就分享出来给大家吧,说不定某天你也会有“导出微信群成员列表”的需求。通过本文介绍的方法,熟练的情况下,只需1分钟,就可以导出一份简洁而完整的微信群成员列表,无需群主权限,任何群成员都可以哦。

实战演示

先来看一个完整的导出过程。起点是从微信网页版登陆,终点是一个文本格式的包含所有群成员的文件。导出一个群成员数接近500的列表,熟练情况下,总时间控制在1分钟以内。不用羡慕,看完本文,你也可以做到。告别重复粘贴和敲字,一分钟导出微信群成员列表!

告别重复粘贴和敲字,一分钟导出微信群成员列表!

原理

原理很简单,利用微信网页版的群成员列表的HTML代码,把群成员的昵称从HTML代码中过滤出来,就得到了该群的成员列表。事实上网上流传着利用同样原理后期再利用MS Excel处理数据的教程,本文不使用MS Excel,而是利用Windows脚本以及正则表达式来把后期的数据过滤和筛选自动化完成。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

除了前期从网页版获取HTML源码以外,剩下的步骤已尽可能简化,采用诸如“双击”、“拖放”等简易操作,尽量避免接触脚本本身的内容,不用担心,相信看完本文,任何没有脚本基础的读者都可以成功。

所需工具

具体步骤

准备脚本

把下面这段代码复制到剪贴板,然后打开网址,把这段代码粘贴到“Type (or paste) here...”处,然后点击下方绿色的< DECODE >按钮。至于为什么要多此一举,请做编辑器的小编来解答一下。告别重复粘贴和敲字,一分钟导出微信群成员列表!

PHBhY2thZ2U+DQogICAgPGpvYiBpZD0iR2VuZXJhdGVCQVQiPg0KICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSJWQlNjcmlwdCI+DQogICAgICAgICAgICBzdHJCQVRGaWxlTmFtZSA9IFJlcGxhY2UoV1NjcmlwdC5TY3JpcHRGdWxsTmFtZSwgIi53c2YiLCAiLmJhdCIpDQogICAgICAgICAgICBzdHJCQVRGaWxlQ29udGVudCA9ICJAZWNobyBvZmYiICYgdmJDckxmICZfDQogICAgICAgICAgICAiY3NjcmlwdCAvL25vbG9nbyAvL2pvYjpHcm91cENoYXRBbGlhc0xpc3QgIiAmIENocigzNCkgJl8NCiAgICAgICAgICAgIFdTY3JpcHQuU2NyaXB0RnVsbE5hbWUgJiBDaHIoMzQpICYgIiAlMSINCiAgICAgICAgICAgIFNldCBvYmpGU08gPSBDcmVhdGVPYmplY3QoIlNjcmlwdGluZy5GaWxlU3lzdGVtT2JqZWN0IikNCiAgICAgICAgICAgIFNldCBvV3JpdGVyID0gb2JqRlNPLk9wZW5UZXh0RmlsZShzdHJCQVRGaWxlTmFtZSwgMiwgVHJ1ZSkNCiAgICAgICAgICAgIG9Xcml0ZXIuV3JpdGVMaW5lIHN0ckJBVEZpbGVDb250ZW50DQogICAgICAgICAgICBvV3JpdGVyLkNsb3NlDQogICAgICAgIDwvc2NyaXB0Pg0KICAgIDwvam9iPg0KICAgIDxqb2IgaWQ9Ikdyb3VwQ2hhdEFsaWFzTGlzdCI+DQogICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9IlZCU2NyaXB0Ij4NCiAgICAgICAgICAgICcqKioqKioqKioqKioqKioqKioqKionDQogICAgICAgICAgICAnIEdyb3VwQ2hhdEFsaWFzTGlzdCAgJw0KICAgICAgICAgICAgJyAgICBMYXdyZW5jZSBDaGVuICAgICcNCiAgICAgICAgICAgICcgVXBkYXRlZDogMDgvMDIvMjAxOCAnDQogICAgICAgICAgICAnKioqKioqKioqKioqKioqKioqKioqJw0KICAgICAgICAgICAgc3RyUmVnRXhwID0gIjxwIGNsYXNzPSIgJiBjaHIoMzQpICAmICJuaWNrbmFtZS4qPz4oLis/KTwvLis+Ig0KICAgICAgICAgICAgU2V0IG9iakZTTyA9IENyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKQ0KICAgICAgICAgICAgJyoqKioqKioqKioqKioqDQogICAgICAgICAgICAnIE1haW4gUHJvY2Vzcw0KICAgICAgICAgICAgJyoqKioqKioqKioqKioqDQogICAgICAgICAgICBJZiBOb3QgV3NjcmlwdC5Bcmd1bWVudHMuQ291bnQgPSAwIFRoZW4NCiAgICAgICAgICAgICAgICBTZXQgb2JqQXJncyA9IFdTY3JpcHQuQXJndW1lbnRzDQogICAgICAgICAgICAgICAgRm9yIEVhY2ggb2JqSXRlbSBpbiBvYmpBcmdzDQogICAgICAgICAgICAgICAgICAgIElmIG9iakZTTy5GaWxlRXhpc3RzKG9iakl0ZW0pIFRoZW4NCiAgICAgICAgICAgICAgICAgICAgICAgIFByb2Nlc3NGaWxlKG9iakl0ZW0pDQogICAgICAgICAgICAgICAgICAgIEVuZCBJZg0KICAgICAgICAgICAgICAgIE5leHQNCiAgICAgICAgICAgIEVuZCBJZg0KICAgICAgICAgICAgJyoqKioqKioqKioqKioqKioqKioqKioNCiAgICAgICAgICAgICcgRnVuY3Rpb24gUHJvY2Vzc0ZpbGUNCiAgICAgICAgICAgICcqKioqKioqKioqKioqKioqKioqKioqDQogICAgICAgICAgICBGdW5jdGlvbiBQcm9jZXNzRmlsZShzRmlsZSkNCiAgICAgICAgICAgICAgICBTZXQgb2JqSW5wdXQgPSBvYmpGU08uT3BlblRleHRGaWxlKHNGaWxlLDEpDQogICAgICAgICAgICAgICAgU2V0IG9iak91dHB1dCA9IG9iakZTTy5PcGVuVGV4dEZpbGUoc0ZpbGUgJiAiLmxvZyIsMixUcnVlKQ0KICAgICAgICAgICAgICAgIERvIFVudGlsIG9iaklucHV0LkF0RW5kT2ZMaW5lDQogICAgICAgICAgICAgICAgICAgIHN0ciA9IG9iaklucHV0LlJlYWRMaW5lDQogICAgICAgICAgICAgICAgICAgIHN0ck5pY2tOYW1lID0gUmVnRXhwVGVzdChzdHJSZWdFeHAsIHN0cikNCiAgICAgICAgICAgICAgICAgICAgSWYgc3RyTmlja05hbWUgPD4gIiIgVGhlbg0KICAgICAgICAgICAgICAgICAgICAgICAgb2JqT3V0cHV0LldyaXRlTGluZSBzdHJOaWNrTmFtZQ0KICAgICAgICAgICAgICAgICAgICBFbmQgSWYNCiAgICAgICAgICAgICAgICBMb29wDQogICAgICAgICAgICAgICAgb2JqT3V0cHV0LkNsb3NlDQogICAgICAgICAgICAgICAgb2JqSW5wdXQuQ2xvc2UNCiAgICAgICAgICAgIEVuZCBGdW5jdGlvbg0KICAgICAgICAgICAgJyoqKioqKioqKioqKioqKioqKioqKioNCiAgICAgICAgICAgICcgRnVuY3Rpb24gUmVnRXhwVGVzdA0KICAgICAgICAgICAgJyoqKioqKioqKioqKioqKioqKioqKioNCiAgICAgICAgICAgIEZ1bmN0aW9uIFJlZ0V4cFRlc3QocGF0cm4sIHN0cm5nKQ0KICAgICAgICAgICAgICAgIERpbSByZWdFeCwgTWF0Y2gsIE1hdGNoZXMNCiAgICAgICAgICAgICAgICBTZXQgcmVnRXggPSBOZXcgUmVnRXhwDQogICAgICAgICAgICAgICAgcmVnRXguUGF0dGVybiA9IHBhdHJuDQogICAgICAgICAgICAgICAgcmVnRXguSWdub3JlQ2FzZSA9IFRydWUNCiAgICAgICAgICAgICAgICByZWdFeC5HbG9iYWwgPSBUcnVlDQogICAgICAgICAgICAgICAgU2V0IE1hdGNoZXMgPSByZWdFeC5FeGVjdXRlKHN0cm5nKQ0KICAgICAgICAgICAgICAgIElmIE1hdGNoZXMuQ291bnQgPiAwIFRoZW4NCiAgICAgICAgICAgICAgICAgICAgUmVnRXhwVGVzdCA9IE1hdGNoZXMoMCkuU3ViTWF0Y2hlcygwKQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgUmVnRXhwVGVzdCA9ICIiDQogICAgICAgICAgICAgICAgRW5kIElmDQogICAgICAgICAgICBFbmQgRnVuY3Rpb24NCiAgICAgICAgPC9zY3JpcHQ+DQogICAgPC9qb2I+DQo8L3BhY2thZ2U+

告别重复粘贴和敲字,一分钟导出微信群成员列表!

再把上述decode之后的这段代码完整地复制到记事本(notepad.exe)里面,然后把这个文件命名为GroupChatAliasList.wsf并保存到本地任意目录。

在保存文件的时候需要注意一下,选择的文件类型必须是All File (*.*)所有文件类型。否则即使文件名是GroupChatAliasList.wsf,最后得到的还是一个GroupChatAliasList.wsf.txt文本文件。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

获取HTML代码

使用Google Chrome(或者Mozilla Firefox)打开微信网页版,并用手机微信扫码登陆。登陆之后,从左边的列表中选择需要导出群成员列表的微信群,然后点击群名称旁边的那个下拉箭头。这样会把群成员全部展开。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

展开之后,就可以用浏览器的工具获取我们感兴趣的HTML代码了。以Google Chrome为例,首先利用快捷键“Ctrl + Shift + C”激活检查元素模式(Mozilla Firefox快捷键相同),然后把鼠标指针在群列表的边框附近移动,使高亮显示的部分覆盖所有群成员,然后鼠标左键点击一个那个范围。

通过这一步之后,在现有的微信网页版代码结构下(不排除后续改版的可能),你应该选中了一个div容器,要么是id="mmpop_chatroom_members",要么是class=" members",要么是class="scroll-wrapper scrollbar-dynamic members_inner ng-scope",再或者就是class="scrollbar-dynamic members_inner ng-scope scroll-content scroll-scrolly_visible"。你也不用管这么多,只要蓝色高亮的部分覆盖了所有群成员,这个div容器就是正确的选择,否则重新利用“Ctrl + Shift + C”再选择一遍。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

接下来,右击这个选中的div容器,选择Copy复制 - Copy复制outerHTML。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

然后打开记事本(notepad.exe),把复制的内容粘贴进去。并把这个文件任意命名,保存到上述GroupChatAliasList.wsf相同目录下。保存的时候会有一个警告,不用理会,直接选择“”即可。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

最后得到这样两个文件,目标已完成90%,接下来就是见证奇迹的时刻。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

执行脚本

执行脚本一共分两步——

  1. 双击GroupChatAliasList.wsf,它会自动生成另一个文件GroupChatAliasList.bat

  2. 把上述保存的包含HTML代码的文本文件(本例中是TEXT.txt)拖放GroupChatAliasList.bat上面

等待2 - 3秒的时间,脚本执行结束会生成一个.log文件,打开这个.log文件,就是最终的群成员列表。操作熟练之后,从获取数据到最终出结果,1分钟绰绰有余。告别重复粘贴和敲字,一分钟导出微信群成员列表!

告别重复粘贴和敲字,一分钟导出微信群成员列表!

告别重复粘贴和敲字,一分钟导出微信群成员列表!

总结和讨论

除了向小小值交差以外,对各分剁的剁主来说,这个工具还有一个附加的用途——通过对比前后两次的名单,可以追踪到那些退群的人,而一般来说,微信群有人退出是很难发觉是谁的。告别重复粘贴和敲字,一分钟导出微信群成员列表! 当然,通过这种方式追踪到的只是退群的人的昵称,并不包含微信号等信息,只能说聊胜于无吧。

另外,对于导出的群成员列表,目前网页的元素中有两个重复的名称,实测都是群成员的昵称。而昵称的优先级关系是“备注名 > 群昵称 > 微信号昵称”,也就是说有备注名优先显示备注名,没有备注名有群昵称的优先显示群昵称,如果备注名和群昵称都没有,则显示该微信账号的昵称。

因此,对于各位剁主来说,在添加了不少剁友有些还有备注的情况下,导出的群成员列表会被“备注名”污染,想要导出一个纯净的“群昵称”列表,最好的办法是加一个小号到群里,再利用这个小号来导出群成员列表。

另外随着微信网页版的代码结构变化,上述脚本工具有可能会失效,但即使发生了这样的状况,理论上只需把正则表达式(下图中红框内容)修改一下就能修复。

告别重复粘贴和敲字,一分钟导出微信群成员列表!

最后,请各位剁主大大多多打赏,哈!

展开 收起
145评论

  • 精彩
  • 最新
  • 额……为什么要导出?

    校验提示文案

    提交
    为了找出我们中的叛徒?

    校验提示文案

    提交
    收起所有回复
  • 确定这是一分钟能搞定的事情吗

    校验提示文案

    提交
    确定以及肯定 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 我比较感兴趣怎么进群 [龇牙]

    校验提示文案

    提交
    查看置顶评论。

    校验提示文案

    提交
    收起所有回复
  • 成功导出名单,谢谢。

    校验提示文案

    提交
    赞!你的水平已经超越评论区大多数人了。 [傻笑]

    校验提示文案

    提交
    收起所有回复
  • 导出核对是为了清除商家还是为了“净化”队伍。。

    校验提示文案

    提交
    这个问题……得去问总剁主 [邪恶]

    校验提示文案

    提交
    收起所有回复
  • [邪恶] 不如写个脚本

    校验提示文案

    提交
    导单个群这样足够简便,如果导所有群,可以考虑用JS

    校验提示文案

    提交
    [尴尬] 我前段时间也遇到了这样的需求,我用的python库,号就被封了

    校验提示文案

    提交
    收起所有回复
  • 只有名字么。。。

    校验提示文案

    提交
    目前只有昵称,这是网页版微信决定的。

    校验提示文案

    提交
    收起所有回复
  • emmm所以说舵主能拉我到上海分舵嘛,想回归组织

    校验提示文案

    提交
    查看置顶主论。

    校验提示文案

    提交
    收起所有回复
  • 感谢分享,我一分钟 好难搞定啊

    校验提示文案

    提交

    fenado

    作者

    tiu-

    wsf文件准备好以后,导一次真的一分钟不到哎。

    校验提示文案

    提交
    收起所有回复
  • 导出来有什么用呢?

    校验提示文案

    提交
    这是一个好问题……

    校验提示文案

    提交
    收起所有回复
  • 怎么找到分舵主?武汉分舵快拉我入坑

    校验提示文案

    提交
    搜索 剁主计划-武汉

    校验提示文案

    提交
    搜了一下,发现全是原创文章,如何进入组织呢?是有一个微信群吗?

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 群成员微信号能不能导出呀?

    校验提示文案

    提交
    并不能,因为网页版没有提供。不过可以尝试用js把所有成员点击一遍。设置了隐私保护的无解。

    校验提示文案

    提交
    嗯嗯要是能做出来这个功能就好了,关注你; [大妈三宝]

    校验提示文案

    提交
    收起所有回复
  • 深圳分剁有吗?

    校验提示文案

    提交
    有,我让你们剁主来认领你。

    校验提示文案

    提交
    收起所有回复
  • 看不懂,真的,羞愧

    校验提示文案

    提交
    你不用羞愧,没让你们看懂我感到十分羞愧 [狂汗]

    校验提示文案

    提交
    收起所有回复
  • 厉害了,虽然看不懂,也要点个赞 [赞]

    校验提示文案

    提交
    这么多说看不懂的证明我写这篇原创失败了…… [大囧]

    校验提示文案

    提交
    收起所有回复
  • 这个目的是什么是什么,一脸蒙蔽 [火冒三丈]

    校验提示文案

    提交
    目的就是导出群成员,哈哈……撩妹?

    校验提示文案

    提交
    就是程序员的恶趣味

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 那么要如何才可以进群呢

    校验提示文案

    提交
    如果是上海值友,查看置顶评论

    校验提示文案

    提交
    收起所有回复
  • 看不懂。。。不过感觉超厉害哈哈哈哈哈
    小灰机18金币起飞~~~

    校验提示文案

    提交
    谢谢小师妹豪赏 [吃雪糕]

    校验提示文案

    提交
    收起所有回复
  • 反正我也看不懂 [得意]

    校验提示文案

    提交
    小姨妈你只需负责闪闪发亮,不需要看懂 [傻笑]

    校验提示文案

    提交
    收起所有回复
  • 程序员没有被产品经理打死,C位出道了~

    校验提示文案

    提交
    我曾经的梦想是成为一名程序员…… [嘿嘿嘿]

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
2.4K
扫一下,分享更方便,购买更轻松