[原创]22行JavaScript代码实现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 + ',\t' + name + '\r\n');
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);
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 + ',\t' + name + '\r\n');
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号了。
另:请勿用于非法用途。
广而告之:基于ExtJS的专业Asp.Net控件库(FineUI),做国内最好的开源控件库!