内容很少所以没什么用的目录
引言
故事要从一位姓袁的老人说起……(省略三万字)纵使事情繁多,考试在即,仍然有像我这样的闲人,会有类似于“在QQ空间里抽奖”这样新wu奇liao的想法。不论如何,既然立下了flag,作为一名计算机学院的学生,要是用网页生成随机数,再从点赞名单里从上往下数也太掉价了…而用微信小程序又很麻烦,因为要去微信扫码,而且就没有互动了…
心路历程
首先我想到了爬虫,并在网上找了一些有关QQ空间网页版源码的内容,然而仅下载python就用了我半小时。我既然这么鸹貔,倒不如直接导出点赞信息到txt文档里,再用C++程序读文档就简单多了。下面是展示了我是如何一步一步完成这个任务的。
导出点赞信息
网上有关的内容很多,但我看不太懂。最终选择了一种很业余的手段:
点那个点赞人数,右键选择检查(最下面那个),屏幕右端(Chrome)会显示html代码,并有一行高亮,找到它的上一级(紫框),点击它,复制到一个新建的txt里,就搞定了!
大概是这样一种情况(摊手),你会发现,每个"qzone/"后面都跟着一个qq号,这就是点赞的人的QQ号啦。一个人的QQ号其实会出现7次,但只要用这个去找就是唯一的。(当然,"like_op_"也是一个可选项,看个人喜好吧。但用"qq.com/"去找显然会出现重复)
C++实现对文档的读取
当我们获得了txt文档,离成功就只有一步之遥了!因为用到的大多是上学期的知识,上学期我又没好好学,所以折腾了半天,还叫来打王者的室友帮忙解决了两个弱智问题。这个程序特别简单,我直接在这一板块最后全贴上来就得啦。
过程都是线性的,读取文档,见到’z’就开始判断,如果下一个是’o’,就再往下读,‘n’,‘e’,直到’/’,意味着后面有一串QQ号。QQ号用一个100*11的二维字符数组保存,100是因为给我点赞的人数应该不会超过这个数(超过也无所谓,再改一下就好),11是因为QQ号从5到11位不等,为了显示方便,全部初始化为’ '(空格)。用整型变量count来确定读了几个QQ号,用i来一位一位填。读到非阿拉伯数字为止。
while(c<='9'&&c>='0')//超级经典吧,就这么简单我还出错了……
然后用另一个程序摇号(因为自己太菜,而且写到一块调试太麻烦,懒),输入号码就直接对应出QQ号啦!简单的循环打印即可。
下面是这个简单的程序,忽略我滥用cout吧,初学者就是想在屏幕上多看点字儿,不然心慌……不学这个的跳过就行
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int choose,i,count=0;//读写QQ号的循环要用
int test=