Qt怎么获取网页的源文件
Qt如何获取网页的源文件本帖最后由 yiyaaixuexi 于 2011-10-09 13:07:09 编辑还是假期前的项目,现在想读取
Qt如何获取网页的源文件
本帖最后由 yiyaaixuexi 于 2011-10-09 13:07:09 编辑 还是假期前的项目,现在想读取网页上的数据,通过右键菜单查看源文件这一选项,看了看网页的源文件,数据格式很好读取,就是现在不知道该如何通过QT来得到网页的源文件,如果用QNetwork相关的类能否得到?还有就是能下载下来最好,知道如何实现的说一下,小长假回来第一天,多挂点分
补充一点,能否把网页的源文件下载保存成XML文件,方便数据的读取
[解决办法]
用QHTTP.把网页下载下来.再用正则解析.
[解决办法]
Qt自带的例子中不就有通过http获取文件的例子么??
题外:QHttp就不要再考虑了,已经不建议使用了。如果要用QtNetWork模块就用 QNetworkAccessManager
[解决办法]http://jybox.net/bbs/read.php?tid-127.html
这里,我写的文章
[解决办法]我刚好做过类似的,参考下这个
http://blog.csdn.net/qianguozheng/article/details/6776353
做成动态链接库,在qt中调用,可以曲线实现你要的效果
http://blog.csdn.net/qianguozheng/article/details/6786505
[解决办法]还要显示?这样的话,你应该考虑去用 QtWebKit,而不是直接使用 QtNetWork 模块。尽管http协议本身非常简单,但是对获取的内容解析(在获取各个文件)并显示出网页,不是简单就能完成的。(世界范围内,浏览器引擎就那么屈指可数的几个,不是么?像腾讯、搜狐、360这些大公司,都借用别人引擎。)
[解决办法]你不是已经下载下来一个了么?或者你可以去看看http协议(如果你真感兴趣的话),全文也没多长,就是使英文的。
[解决办法]亲,用QWebPage,解压编码全帮你搞定了。
[解决办法]说错鸟,是QWebFrame,
[解决办法]void Widget::ReadyRead()
{
ui->tB->setText(QString::fromUtf8( reply->readAll()));
}
事实上,这里的QString::fromUtf8( reply->readAll())就已经是字符串格式的网页源文件了,至于为什么显示成那样..那是那个控件的问题(那个控件会把html重新还原成网页)....也不知是我写错了控件名,还是你拖错了
接下来你只需要把这QString::fromUtf8( reply->readAll())写入到文件就达到你的目的了,下面是一段写入文件的代码:
#include <QString>
#include <QTextCodec>
#include <QFile>
#include <QTextStream>
//---------------
QFile file(QString("1.txt"));
if(file.open(QIODevice::WriteOnly))
{
QTextStream stream(&file);
QString str=QString::fromUtf8( reply->readAll());
stream<<str;
file.close();
}
大概是这样......手头没编译器,没试验
ps.....为了为消灭IE6尽一份力量,本人博客+论坛禁止IE6访问
[解决办法]你关注下爬虫程序 可以实现