QT自動下載網頁每天更新的文件

同事讓我做的,那個網站每天都會更新股票數據,很好網頁地址是www.xxxxx日期xxxxx.txt

所以我只要每天下載當天的txt就ok了

main.cpp代碼

#include <QCoreApplication>
#include <QUrl>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QEventLoop>
#include <QObject>
#include <QString>
#include <QFile>
#include <QTextStream>
#include <QDateTime>
int main(int argc, char *argv[])
{
    QDateTime current_date_time = QDateTime::currentDateTime();
    QString TODAY= current_date_time.toString("yyyyMMdd");
    //網頁地址
    const QString URLSTR = "http://query2.efunds.com.cn/data/ETF100EFundBulletin"+TODAY+"_159901.txt";;
    //儲存網頁代碼的文件
    const QString FILE_NAME = "x:\\dailydownload\\"+TODAY+".txt";;


    QCoreApplication app(argc, argv);
    QUrl url(URLSTR);
    QNetworkAccessManager manager;
    QEventLoop loop;
    qDebug() << "Reading code form " << URLSTR;
    //發出請求
    QNetworkReply *reply = manager.get(QNetworkRequest(url));
    //請求結束並下載完成後,退出子事件循環
    QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    //開啓子事件循環
    loop.exec();


    //將讀到的信息寫入文件
    QString code = reply->readAll();
    QFile file(FILE_NAME);
    file.open(QIODevice::WriteOnly);
    QTextStream out(&file);
    out << code << endl;
    file.close();
    qDebug() << "Finished, the code have written to " << FILE_NAME;
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章