获取网页源码的小例子,代码很简单,就不多作解释了。

不过一定要注意网页的编码问题,否则会出现乱码的!!!

  1. #include <QtCore>
  2. #include <QtNetwork>
  3. //网页地址
  4. const QString URLSTR = "http://www.csdn.net/";
  5. //储存网页代码的文件
  6. const QString FILE_NAME = "code.html";
  7. int main(int argc, char **argv)
  8. {
  9. QCoreApplication app(argc, argv);
  10. QUrl url(URLSTR);
  11. QNetworkAccessManager manager;
  12. QEventLoop loop;
  13. QTextCodec *codec;
  14. QNetworkReply *reply;
  15. qDebug() << "Reading html code form " << URLSTR;
  16. reply = manager.get(QNetworkRequest(url));
  17. //请求结束并下载完成后,退出子事件循环
  18. QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
  19. //开启子事件循环
  20. loop.exec();
  21. //获取源码,打开文件
  22. QFile file(FILE_NAME);
  23. if( !file.open(QIODevice::WriteOnly | QIODevice::Text) )
  24. {
  25. qDebug() << "Cannot open the file: " << FILE_NAME;
  26. return 0;
  27. }
  28. QTextStream out(&file);
  29. QString codeContent = reply->readAll();
  30. //将获取到的网页源码写入文件
  31. //一定要注意编码问题,否则很容易出现乱码的
  32. codec = QTextCodec::codecForHtml(codeContent.toAscii());
  33. codeContent = codec->toUnicode(codeContent.toAscii());
  34. out.setCodec(codec);
  35. out << codeContent << endl;
  36. file.close();
  37. qDebug() << "Finished, the code have written to " << FILE_NAME;
  38. return 0;
  39. }

http://blog.csdn.net/small_qch/article/details/7200271

QT:轻松获取网页源码的更多相关文章

  1. Python: PySide(Qt)异步获取网页源码

    学习PyQt UI编程笔记.相对PyQt来说,PySide资料为少. 此篇记录异步获取代码后,同步显示于界面窗体中,涉及线程网步,此为知识点. 直录代码: # encoding: utf-8 from ...

  2. C语言之socket获取网页源码

    写爬虫也许你用的是python,类似urlopen(url).read()即可获得普通的网页的源码,或者用的java的网络库加上流操作,或者其他高级语言.但你有没有想过使用C语言来实现呢?我曾经以为用 ...

  3. Python爬虫学习之获取网页源码

    偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...

  4. vc++获取网页源码

    1. 获取网页源码的步骤: com组件的初始化 创建WinHttpRequest对象 创建并实例化WinHttpRequest组件 调用Open方法打开连接 调用Send方法发送请求 使用Respon ...

  5. vc++获取网页源码之使用import+接口方式

    1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...

  6. 高效获取网页源码COM

    目前获取网页源码有几种方法: 1.WebClient下载页面2.HttpWebRequest发请求获取3.com组件xmlhttp获取 三者比较:WebClient代码最少,效率最慢:xmlhttp代 ...

  7. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...

  8. Python3.x获取网页源码

    Python3.x获取网页源码 1,获取网页的头部信息以确定网页的编码方式: import urllib.request res = urllib.request.urlopen('http://ww ...

  9. c# HttpClient获取网页源码

    #region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...

随机推荐

  1. 编译安装zabbix

    1. 说明:本例用源码包来安装zabbix,但是zabbix的后台数据库在这里选择mysql,然而mysql的安装方式不在选择源码了,而是选择已经编译好的通用linux包(tar包) zabbix源码 ...

  2. 前端MVVM学习之KnockOut(一)

    MVVM理解 MVVM即Model-View-viewModel,是微软WPF和MVP(Model-View-Presenter)结合发展演变过来的一种新型架构框架. MVVM设计模式有以下优点: ( ...

  3. Qt之图标切分与合并(关键是使用QPixmap的copy函数来拷贝整张图片的某个区域)

    有些时候会将多张有相同功能的图片绘制成一张,不管是使用或者绘制上都会方便很多.对美工与开发者来说也都是一件省事.省力.更省心的方式.二全其美,又何乐而不为呢... 例如:QQ等级           ...

  4. HTML5视音频小结

    目前,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件.HTML5 规定了一种通过 video 元素来包含视频的标准方法.当前HTML5只支持三种格式的视频. 格 ...

  5. 那些年的那些事CISC和RISC发展中的纠缠

    本文来自http://www.cnbeta.com/articles/224544.htm ARM.ARM.ARM,没错ARM仿佛一夜之间就火了,平板.手机等领域随处可见它的影子,甚至已经有人预言未来 ...

  6. JOB+MERGE 跨服务器同步数据

    为了解决单服务器压力,将库分服务器部署,但是原来用触发器实现的表数据同步就实现不了了. 因为总监老大不允许 开启分布式事务(MSDTC),我又不想为了一个几千行的基础数据做复制订阅. 于是乎决定用 J ...

  7. autoprefixer安装或者里sass的$mixin处理浏览器前缀

    Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器.它适用于普通的CSS,可以实现css3代码自动补全.也可以轻松跟Sass,LESS及Stylus集成,在CSS编译 ...

  8. 手动调整导航控制器中的viewcontroller

    NSMutableArray *array = [[NSMutableArray alloc]initWithArray: [self.navigationController viewControl ...

  9. JavaWeb——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  10. Chord算法实现具体

    背景 Chord算法是DHT(Distributed Hash Table)的一种经典实现.下面从网上无节操盗了一段介绍性文字: Chord是最简单.最精确的环形P2P模型."Chord&q ...