本文主要介绍使用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编写)。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。