开源,是一种精神。但不开源,并不是没有精神,而可能是代码写得惨不忍睹,我属于后者。(首先申明:对代码提出意见可接受,虚心接受,但不能人身攻击啊!)
最近闲的蛋疼,喜欢到处看看做得好的站点, 莫名其妙的QQ邮箱就收到了很多看过的站点的相关AD , 觉得有点意思,不是广告有点意思啊,而是这个功能有点意思。
我一般对日本动作片的广告有兴趣外,其他的也就没什么了。
其实也不是什么高深的技术,就随便谷歌了一下(对不起,我从不用百度),相关的文章倒是挺多的。但都藏着掖着,有些坑爹的家伙居然还收费(既然有市场,收费也
无可厚非,是我激动,是我有迫害妄想症,是我脑残),既然大家这么屌,那我也装回逼,反正周末没妹子可以啪(tan)啪(ren)啪(sheng)不如就搞定它。
大白天的,深圳着天气,就一风扇, 还是时转时不转的。热得我*功能障碍,废话说得太多了。进入正题吧
原理:1、将某开通了 黄砖 的QQ 空间的地址藏在你网站的某某地方 ,当人家打开你的网站,也就进了你的空间
2、相信大部分人都知道QQ空间有个访客功能, 对滴, 只要抓到这个访客功能就行了。
是不是看到这里,突然感觉这几把社会就没有不能卖的东西
难点:这个,主要就是搞定 麻花疼 那家伙了,不对 搞定他还不如搞定他女儿。(难点就是如何抓取访客)这不废话么!!!
其实某讯的QQ空间功能有一个访客的接口,说接口可能不是很准确。有一个地址,调用他就能返回访客:http://g.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin=QQ号&mask=2&g_tk=***;
难点就是***了 , 这个g_tk 到底是个么么哒呢,管他是什么,只要算出他就行了。先把这个疑问留在这里,一会回来看。
首先大家伙打开这个网站:http://user.qzone.qq.com/troubleshooter/ (QQ空间小助手)看图:
红色圈圈里的那个skey就是我们算出需要的 g_tk 所需要的参数了
public static string sKey(string Key) { int num = 5381; int length = Key.Length; for (int i = 0; i < length; i++) { char c = Convert.ToChar(Key.Substring(i, 1)); num += (num << 5) + (int)c; } return Convert.ToString(num & 2147483647); }
通过上面的方法,将skey作为参数代入进去,就将返回一个 g_tk,然后把 g_tk 放到之前有疑问那里的那个链接里,就可以返回一个 json 了, json 里就带了访客的基本信息,只要把这些信息抓出来,给他们发邮件还不是轻轻松松。
这个skey你也就去正则匹配抓出来就行了,对于如何抓出来, 看源码也行(源码会放到最下面的,提供下载)
基本上就这样了。
申明:尽管我对快播的死感到惋惜,伤感,也忍受着长夜漫漫的孤独,空虚,寂寞。但是此开源抓取QQ空间访客只供学习交流使用,如果你非要拿来干坏事,我管不着,但跟我一毛钱关系都没有。