使用phantomjs进行网页抓取的实现代码

使用phantomjs进行网页抓取的实现代码

本文主要介绍使用phantomjs进行网页抓取的实现代码,有需要的朋友可以参考一下。

Phantomjs可以运行js,因为它是一个无头浏览器,所以它也可以运行dom节点,这是抓取网页的最佳方式。

比如我们要批量抓取“历史上的今天”的内容。网站

根据对dom结构的观察,我们只需要得到。列出li a .所以我们使用高级选择器来构建dom片段。

变量d=

var c=document.querySelectorAll(。列出阿利’)

var l=c.length

for(var I=0;il;i ){

d=d c[i]。标题 n

}

之后就让js代码在phantomjs里运行吧~

var page=require(网页)。create();

page . Open( 3358 www.todayonhistory.com/,function(状态){//打开页面

如果(状态!==成功){

console.log(无法加载地址);

}否则{

console . log(page . evaluate(function(){

变量d=

var c=document.querySelectorAll(。列出阿利’)

var l=c.length

for(var I=0;il;i ){

d=d c[i]。标题 n

}

返回d

}))

}

幻影. exit();

});

最后我们保存为catch.js,在dos下执行,将内容输出到一个txt文件(也可以用phantomjs的file api编写)。

使用phantomjs进行网页抓取的实现代码