QT打开一个网页,并获取网页内容,该怎么处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT打开一个网页,并获取网页内容,该怎么处理相关的知识,希望对你有一定的参考价值。
获取内页内容最直接的办法就是选择要复制的内容,右击鼠标复制,或者CTRL+C复制,ctrl+v粘贴即可。
对于此方法无法复制的网页内容可以通过在浏览器右上角的工具-查看源代码,
把该文字的第一句用CTRL+F查找这段文字,
把记住你要复制文字的开头和结尾,选择后网页文字和代码一起复制,
再通过一个html编程器进行转换,像这里就是HTML的编辑器,或者在网站后台发布文章的位置点击源码,
这时候其他图标都变成灰色。
复制刚刚的文字,然后再粘贴,
这时候有代码,请再点击一下源码,切换回来刚刚的状态
文字变成正常网页显示的内容,再复制粘贴即可。
参考技术A获取网页源码的小例子,代码很简单,就不多作解释了。
不过一定要注意网页的编码问题,否则会出现乱码的!!!
[cpp] view plain copy print?#include <QtCore>
#include <QtNetwork>
//网页地址
const QString URLSTR = "http://www.csdn.net/";
//储存网页代码的文件
const QString FILE_NAME = "code.html";
int main(int argc, char **argv)
QCoreApplication app(argc, argv);
QUrl url(URLSTR);
QNetworkAccessManager manager;
QEventLoop loop;
QTextCodec *codec;
QNetworkReply *reply;
qDebug() << "Reading html code form " << URLSTR;
reply = manager.get(QNetworkRequest(url));
//请求结束并下载完成后,退出子事件循环
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
//开启子事件循环
loop.exec();
//获取源码,打开文件
QFile file(FILE_NAME);
if( !file.open(QIODevice::WriteOnly | QIODevice::Text) )
qDebug() << "Cannot open the file: " << FILE_NAME;
return 0;
QTextStream out(&file);
QString codeContent = reply->readAll();
//将获取到的网页源码写入文件
//一定要注意编码问题,否则很容易出现乱码的
codec = QTextCodec::codecForHtml(codeContent.toAscii());
codeContent = codec->toUnicode(codeContent.toAscii());
out.setCodec(codec);
out << codeContent << endl;
file.close();
qDebug() << "Finished, the code have written to " << FILE_NAME;
return 0;
参考技术B
是从网页上获取内容吗?是获取全部还是获取指定数据?
获取全部的话用网络编程的IO估计就可以处理,获取指定数据的话我只用过jsoup。
参考技术C 这个,可以看看源码
用Webbrowser怎么实现获取网页内容并自动点击?(VB.NET)
比如做一个抢票软件,怎么才能实现捕获网页内容并自动点击提交按钮?
我是新手,比较菜,大神最好能说细一点儿,或者有源码这类的,谢谢。
for (int i = 0; i < doca.All.Count; i++) //循环查找这个对象的每一个元素
if (doca.All[i].TagName == "A") //如果这个元素是A
HtmlElement myelement = doca.All[i]; //就把这个元素实例化成一个HtmlElement对象
if (myelement.OuterText == "下一页") //如果这个元素的文字是“下一页"
myelement.InvokeMember("click"); //对这个元素进行点击
参考技术A WebBrowser1.Document.Forms(0).InvokeMember("submit")
网页中第一个form元素,提交表单。
仅供参考,具体网页源代码,具体分析。
以上是关于QT打开一个网页,并获取网页内容,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章
微信里被禁止访问的网页怎么处理?366API恢复被封网页正常从微信内访问的解决方法