用QT获取NGA大脚用户的魔兽角色信息

来源:互联网 发布:申请淘宝达人后怎么做 编辑:程序博客网 时间:2024/05/01 02:53

仅能适用于:使用魔兽大脚插件并且角色绑定的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


0 0
原创粉丝点击