仅能适用于:使用魔兽大脚插件并且角色绑定的NGA用户
用自己的NGA账号登陆,默认访问http://bf8.178.com/bbs/u.php?uid=0为自己的大脚资料页面 div=clist即为绑定角色信息
http://bf8.178.com/bbs/u.php?uid=1是大脚管理员admin的信息:组别=管理员;注册时间=2010-.6-30;最后登录=2010-7-02;
http://nga.178.com/nuke.php?func=ucp&uid=1是管理员admin的信息 :用户组=平民;禁言至2033-4-1(愚人节?)
访问大脚其他用户绑定角色页面:
http://bf8.178.com/bbs/u.php?uid=用户数字ID
http://bf8.178.com/bbs/u.php?username=用户名
访问NGA用户信息页面:(ID和名字与大脚178通用)
http://nga.178.com/nuke.php?func=ucp&uid=用户数字ID
http://nga.178.com/nuke.php?func=ucp&username=用户名
在界面中创建一个QWebView窗口 ,一个LineEdit和一个PushButton;
QWebView窗口用于显示网页,(必须先用自己的账号登录才能看别人的资料)
LineEdit用于设置构造"http://bf8.178.com/bbs/u.php?uid=用户数字ID" 的ID
PushButton点击连接动作槽不断访问构造的URL;
写一个PageScan类.构造函数:
PageScan(QWebPage* webPage)
写函数loadOver()
QWebElementCollection list = webPage->mainFrame()->findAllElements("div");
for(int i = 0; i < list.count(); i++){
QWebElement e = list.at(i);
switch(i){
case 33:
strID=e.toPlainText().simplified();
qDebug() << strID;
emit retInfo(strID);
break;
case 34:
strGroup=e.toPlainText().simplified();
qDebug() << strGroup;
emit retInfo(strGroup);
break;
case 39:
strPlayerList = e.toPlainText();
//qDebug() << str;
break;
default:
break;
}
}
QStringList l = strPlayerList.split("\n");
for(int j=0;j<l.count();j++)
{
QString str =l.at(j).simplified();
if(j>2 && j%2 !=0){
qDebug()<<str;
emit retInfo(str);
}
}
emit isFinished();
mainwindow中连接对象信号isFinished触发下次load的URL
非常给力 已测试获取了1.8M文本文件的角色资料 ,这不过是用户ID才到13.5w的资料, Nga有19132457位会员.还不到2% ....
海上的歌
组别:管理员
望舒剑在手 圣骑士 血精灵 部落 伊利丹 85
海上的歌 德鲁伊 牛头人 部落 伊利丹 90