QT:轻松获取网页源码
获取网页源码的小例子,代码很简单,就不多作解释了。
不过一定要注意网页的编码问题,否则会出现乱码的!!!
- #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;
- }
http://blog.csdn.net/small_qch/article/details/7200271
QT:轻松获取网页源码的更多相关文章
- Python: PySide(Qt)异步获取网页源码
学习PyQt UI编程笔记.相对PyQt来说,PySide资料为少. 此篇记录异步获取代码后,同步显示于界面窗体中,涉及线程网步,此为知识点. 直录代码: # encoding: utf-8 from ...
- C语言之socket获取网页源码
写爬虫也许你用的是python,类似urlopen(url).read()即可获得普通的网页的源码,或者用的java的网络库加上流操作,或者其他高级语言.但你有没有想过使用C语言来实现呢?我曾经以为用 ...
- Python爬虫学习之获取网页源码
偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...
- vc++获取网页源码
1. 获取网页源码的步骤: com组件的初始化 创建WinHttpRequest对象 创建并实例化WinHttpRequest组件 调用Open方法打开连接 调用Send方法发送请求 使用Respon ...
- vc++获取网页源码之使用import+接口方式
1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...
- 高效获取网页源码COM
目前获取网页源码有几种方法: 1.WebClient下载页面2.HttpWebRequest发请求获取3.com组件xmlhttp获取 三者比较:WebClient代码最少,效率最慢:xmlhttp代 ...
- Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...
- Python3.x获取网页源码
Python3.x获取网页源码 1,获取网页的头部信息以确定网页的编码方式: import urllib.request res = urllib.request.urlopen('http://ww ...
- c# HttpClient获取网页源码
#region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...
随机推荐
- javascript之对象
一.创建对象 1.对象直接量. var point = { x:0,y:0 }; //point就是一个对象,跟C#不同,它不需要一定有类才能创建对象. 2.通过new创建对象 var d = new ...
- JavaScript 常用小代码
//判断一个汉字等于两个字符 function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { var ...
- Linux系统编程(12)——shell基础
Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个 ...
- 杭电1010(dfs + 奇偶剪枝)
题目: The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked ...
- oracle 查询表名以及表的列名
oracle 查询表名以及表的列名的代码. 1.查询表名: 代码如下: select table_name,tablespace_name,temporary from user_tables [ ...
- 在国内使用cnpm代替npm
npm是Node.js的模块依赖管理工具,由于使用npm安装包是从国外服务器下载,在国内很容易受到网络的影响,速度非常慢,因此可以选用cnpm.cnpm可以使用淘宝团队提供的淘宝npm镜像,你可以用此 ...
- Error Correct System(模拟)
Error Correct System Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I ...
- Java凝视Annotation
Java凝视Annotation 从JDK 5開始,Java添加了对元数据(MetaData)的支持,也就是Annotation(凝视).Annotation提供了一种为程序元素设置元数据的方法 ...
- RMAN数据库恢复之对数据库进行完全介质恢复
RMAN数据库恢复之对数据库进行完全介质恢复环境:控制文件和参数文件SPFILE及归档文件.重做日志文件都在.其它数据文件丢失.恢复方法:使用之前创建的全库备份进行恢复1.删除数据文件: SQL> ...
- 在spring+hibernaet+mysql事务处理中遇到的一些坑
spring的事务处理本来就是依赖于底层的实现,比如hibernate及数据库本身. 所以,当使用mysql数据库时,首先要确定的是,所操作的对象表是innodb格式的. 1. read-only方法 ...