本文目录一览:
- 1、如何获取PhantomJS打开网页时加载的JS资源
- 2、求助,为什么phantomjs 无法获取到网页最终的数据
- 3、怎么在windows安装phantomjs?
- 4、现在用node写网页爬虫用phantomjs和jsdom各有什么利弊
如何获取PhantomJS打开网页时加载的JS资源
1、可以通过浏览器的调试功能,例如Firefox按F12,点网络标签,然后就可以看到网页的所有数据信息,网页通过AJAX异步加载的数据也可以得到。 2、使用抓包类的工具,如SmartSniff,经过分析也可以得到数据也可以得到数据
求助,为什么phantomjs 无法获取到网页最终的数据
phantomjs因为是无头浏览器可以跑js,所以同样可以跑dom节点,用来进行网页抓取是再好不过了。
比如我们要批量抓取网页 “历史上的今天” 的内容。网站
对dom结构的观察发现,我们只需要取到 .list li a的title值即可。因此我们利用高级选择器构建dom片段
var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;il;i++){
d=d+c[i].title+'\n'
}
之后只需要让js代码在phantomjs里跑起来即可~
var page = require('webpage').create();
page.open('', function (status) { //打开页面
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
console.log(page.evaluate(function () {
var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;il;i++){
d=d+c[i].title+'\n'
}
return d
}))
}
phantom.exit();
});
最终我们另存为catch.js,在dos里面执行一下,输出内容到txt文件(也可以用phantomjs的文件api来写)
-
怎么在windows安装phantomjs?
windows下载与安装PhantomJS的方法如下:
找到官方下载地址: 下载PhantomJS;
目前官方支持三种操作系统,包括windows\Mac OS\Linux这三大主流的环境,根据运行环境选择要下载的包,比如运行环境是Windows7,就可以下载Win7系统下的包;
PhantomJS不需要安装,本身就已经是一个可执行文件,直接下载解压就可以得到phantomjs.exe;
下载解压后文件夹如图所示。
PhantomJS介绍:
PhantomJS是一个服务器端的 JavaScript API 的WebKit(开源的浏览器引擎)。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas 和 SVG。PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等。
现在用node写网页爬虫用phantomjs和jsdom各有什么利弊
phantomjs实际上就是一个浏览器,只是不显示界面,可以执行页面的js脚本等。
jsdom主要是方便解析html文本,相当于对字符串进行分析。
phantomjs对资源的要求和消耗都比较大,如果需要的内容从网页源代码中可以解析出来,推荐用jsdom,如果页面复杂,推荐用phantomjs!