新物网

当前位置:首页 > 百科

百科

自己编写JavaScript代码实现QQ群成员QQ号提取

时间:2023-10-28 08:30:07 闻子
原来想给QQ群内的成员发邮件,找了一个现成的软件,没想到居然有QQ盗号病毒,很不爽。就决定自己动手,丰衣足食。首先,我想到如果能够直接从QQ群成员列表中把所有成员拷贝出来,岂不是很方便。不过QQ明显意识到了这一点。于是打开网页版的QQ群,这

原来想给QQ群内的成员发邮件,找了一个现成的软件,没想到居然有QQ盗号病毒,很不爽。就决定自己动手,丰衣足食。

首先,我想到如果能够直接从QQ群成员列表中把所有成员拷贝出来,岂不是很方便。不过QQ明显意识到了这一点。

于是打开网页版的QQ群,这里面总有成员列表吧。在页面上,只能能看到的东西,就没有JavaScript程序员拿不到的东西。

下面给出具体的操作步骤:

1. 打开一个QQ群的通讯录页面。

2. 打开FireBug,在脚本区域输入如下 22 行JavaScript 代码:

 1 function trimQQNumber(item) {
 2     var num = $.trim($(item).text());
 3     return num.substr(1, num.length - 2);
 4 }
 5 
 6 var qunId = trimQQNumber($('.groupInfoCell span.fcgray'));
 7 
 8 var pageCount = parseInt($('.pageArea a:last').text(), 10);
 9 
10 var qqs = [];
11 
12 function retrieve(pageNumber) {
13 
14     $.get('http://qun.qq.com/air/' + qunId + '/addr/index/type/0/p/' + pageNumber + '?w=n&_=' + Math.random(), function (data) {
15 
16         $(data).find('ul.addressPat span.fcgray').each(function (index, item) {
17 
18             var num = trimQQNumber(item);
19 
20             var name = $.trim($(item).parents('.baseInfo').find('.userName a').attr('title'));
21 
22 
23             qqs.push(num + ', ' + name + ' ');
24 
25         });
26 
27         if(pageNumber < pageCount) {
28             retrieve(pageNumber + 1);
29         } else {
30             console.log(qqs.join(''));
31         }
32 
33     });
34 
35 }
36 
37 retrieve(1);

3. 点击运行,在左侧结果区域就能看到所有QQ群成员的用户名和QQ号了。