当需要将一个网页解析成比较直观的dom树形式,有以下几种方法。

(1)MSHTML中提供的IWebBrowser2接口。输入为网页的url;

IHTMLDocument2 *pDoc = NULL;

CoInitialize(NULL);

//取得网页内容

IWebBrowser2* pWebBrowser = NULL;

HRESULT hr = CoCreateInstance(CLSID_InternetExplorer,NULL,CLSCTX_LOCAL_SERVER,IID_IWebBrowser2,(void**)&pWebBrowser );

if( FAILED(hr) )

{

MessageBox(NULL,_T("WebBrowser2接口失败"),_T("Error"),NULL);

return -1 ;

}

string WebUrl("http://beiningsa.blog.sohu.com/130372778.html");

CComVariant varUrl( WebUrl.c_str() );

CComVariant var;

hr = pWebBrowser->Navigate2( &varUrl,&var,&var,&var,&var );

if( FAILED(hr) ) return -1;

READYSTATE readystate;

hr = pWebBrowser->get_ReadyState(&readystate);

if( FAILED( hr ) ) return -1;

DWORD

html页面解析 成dom树,将网页解析成dom树的几种方法相关推荐

  1. python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper

    之前就说过Python爬虫中Xpath的用法,相信每一个写爬虫.或者是做网页分析的人,都会因为在定位.获取XPath路径上花费大量的时间,在没有这些辅助工具的日子里,我们只能通过搜索HTML源代码,定 ...

  2. 在网页中实现icon小图标的几种方法

    总所周知,网页的美观程度往往比这个网页的使用程度更重要,因为它能直接吸引用户的眼球.在网页中,小图标在美工方面的作用更是不言而喻,小图标种类多样,给人以直观的反映.在现有的网站中,99.9%的网站都采 ...

  3. 网页加载缓慢时,两种方法实现loading效果

    当页面加载速度很慢的时候,页面就会出现白屏的状况,如果没有使用loading来和用户进行交互,用户并不知道应用到底是出现什么问题(卡死.出错或者在加载)页面加载所需要时间越长,那么可能损失的用户量就会 ...

  4. html5页面嵌入视频播放,使用HTML5在网页中嵌入音频和视频播放的基本方法

    HTML5 特性,包括原生音频和视频支持而无需 Flash. HTML5 和 标签让我们给站点添加媒体变得简单.我们只需要设置 src 属性来识别媒体资源,包含 controls 属性让用户可以播放和 ...

  5. 在线HTML网页小窗口复制不了,教你一招:解决某些网页不能复制的文字的N种方法!...

    有时候碰到网页文字无法复制怎么办?要么只能手动一个个字输入,要么就需要花钱开通会员才能复制.今天小编就教你几个好用的方法来解决这个难题! 方法一:打印方式实现 我们按Ctrl+P进入打印预览里,然后就 ...

  6. 获取DOM元素后,对NodeList的遍历的几种方法

    在使用原生方法或者jquery方法获取DOM元素后,想像正常使用数组的方法对其遍历时,发现一些数组的遍历方法使用不了,如map ,push , pop等方法.使用后报错:.map is not a f ...

  7. PHP获取网页源码最简单的两种方法

    第一种:curl 废话不多说,直接上代码 //1,获取curl句柄 $ch = curl_init();// 2. 设置选项,包括URL curl_setopt($ch,CURLOPT_URL,&qu ...

  8. 移动端网页实现拨打电话功能的几种方法以及点击立刻qq联系

    .最常用WEB页面JS实现一键发送短信功能: <a href="sms:13764567708">移动WEB页面JS一键发送短信咨询功能</a> 在信息录入 ...

  9. html边框直线,在网页中实现细线边框的两种方法-网页设计,HTML/CSS

    很多朋友都有过制作网页的经历,如今,众多网页的设计都用到了表格.这样不仅有利于网页的维护,同时,提高了网页的观赏性.在众多网页制作风格中,细边框这个制作方法是必不可少的.这里,我将简单地谈一下细边框的 ...

最新文章

  1. c10k问题及其解决方案
  2. 每天一个linux命令(9):touch命令
  3. 在linux中加用户,Ubuntu使用教程——在Ubuntu中添加用户
  4. ActionTileViewController.js
  5. 女性自我的迷宫:看EMI的人体自拍
  6. java 程序执行后 强制gc_GC 设计与停顿
  7. 常用的几种卷积神经网络介绍
  8. python 检测端口是否被占用
  9. 复合选择器-并集选择器(HTML、CSS)
  10. android程序安全编码向导,Android安全编码规范
  11. 电路的计算机辅助分析实验报告,电力系统计算机辅助分析实验报告.doc
  12. lcd开机流程图_LCD1602初始化流程图及程序的两种方法
  13. 《ANSYS Workbench有限元分析实例详解(静力学)》——第1章 CAE分析步骤1.1 模型简化...
  14. CRMEB多商户商城系统主要功能及技术亮点
  15. 目前世界上15款优秀杀毒软件
  16. 缩略图-快速开始(GraphicsMagick )
  17. 输入一串字符串 字符串长度不超过100
  18. 7-2 一元多项式的乘法与加法运算 (20 分)
  19. 205.自定义菜单[个人公众号未认证无法使用]
  20. 02[自制油猴插件]我是如何优化B站评论区外链体验的

热门文章

  1. Python中的解包用法
  2. 计算机的音乐数字要全是数字,数字中的音乐
  3. mysql积累--索引
  4. 如何实现根据照片获取地理位置及如何防御照片泄漏地理位置
  5. 51nod 1113 矩阵快速幂【裸题】【内含黑科技】
  6. 遥感建筑物提取数据集
  7. PHP排序大数据量分页
  8. 【SHOI2001】洛谷2530 化工厂装箱员
  9. Android BroadCast
  10. 深度学习进阶课程10---减少Overfitting的方法Regularization