关于网页动态数据获取的知识学习(2)
2014-07-25 00:28
344 查看
三种获取js加载的动态内容的方法
有些网站的比较重要的内容可能会采用javascript动态加载内容,防止采集,获取其中的信息,但是我们在采集的时候还需要获取到这些内容,下面就介绍三种可以获取到javascript内容的方法,三种方式的原理其实是一样的,就是通过浏览器引擎来解析javascript。
1)、利用WebBrowser控件
这个方式大家也都知道,也就不多说了,说几个比较重要的地方。首先,我要在DocumentCompleted事件里面完成内容获取的工作,因为该控件
是在文档加载完成后触发的。其次,这个事件有个问题,就是说如果在页面中有iframe框架之类的,如果这个iframe加载完成也会触发这个事件,所以我们要做个判断
2)利用phantomjs这个开源项目
这个项目的地址:http://phantomjs.org/
。这个项目说的通俗点就是一个无界面的基于webkit内核的浏览器,既然是浏览器当然就能获取
javascript加载的内容。至于这个开源项目更多的细节还需要大家自己来阅读这个文档,里面写的很全面,也很易懂!
我先简单的介绍下在win7下怎么用这个项目
1、下载windows版本,地址http://phantomjs.org/download.html,现在的版本是1.9.1
2、下载完,解压缩,放到某个文件夹下
3、配置环境变量,把这个文件夹的根目录配置到环境变量中。
下面我们看怎么用C#来调用,这里用到Process类,具体看代码:
ttest。js的代码
这个类库很全面,有基于各种浏览的驱动,当然也包括phantomjs,我们就用PhantomJSDriver类来操作。当然这个类库信息很多,还需要大家
自己来看,我也是看了一点点,没有看的太详细!当然需要先下载类库,地址:http://docs.seleniumhq.org/download/,下载完添加引用,
(发现貌似只用3.5和4.0版本的,老的版本中是否支持2.0),api文档地址:http://selenium.googlecode.com/git/docs/api/dotnet/index.html,下面看调用,很简单,几行代码就可以搞定!
相关文章推荐
- 关于网页动态数据获取的知识学习(1)
- 后台获取数据,动态更新到网页--无闪烁刷新
- [Silverlight学习笔记]关于利用WCF RIA Service进行通信并在客户端获取数据
- python selenium 获取动态网页数据
- 利用js将ajax获取到的后台数据动态加载至网页中
- Python分布式爬虫前菜(1):关于静态动态网页内容获取的N种方法
- 数据获取,解析,存储等知识的学习总结
- python3 网络爬虫(二)利用get请求获取网页的动态加载数据
- 利用js将ajax获取到的后台数据动态加载至网页中的方法
- 【QTP学习笔记 1 】下拉框数据随机选择,日期输入,如何获取动态的对话框
- Java:java爬虫获取动态网页的数据
- winform学习之-----关于按键操作的一些小知识(如何获取焦点所在的当前控件)20160623
- 小猪的Python学习之旅 —— 5.使用Selenium抓取JavaScript动态生成数据的网页
- 网站学习备忘001——运用POST方法获取表单中的数据,并显示在同一网页中
- 关于highcharts动态获取数据做报表
- JavaScript以及Jquery动态添加多选框值以及获取数据的学习记录
- html网页获取php网页数据等知识记录
- 利用js将ajax获取到的后台数据动态加载至网页中
- python基础学习第五课,大批量获取网页数据基础,requests模块尝试
- dhtmlxtree学习笔记三(ajax动态获取数据)