Node.js 动态网页爬取 PhantomJS 使用入门(转)

Node.js 动态网页爬取 PhantomJS 使用入门

版权声明:本文为 wintersmilesb101 -(个人独立博客– http://wintersmilesb101.online 欢迎访问)博主原创文章,未经博主允许不得转载。

既然是入门,那我们就从人类的起源。。PhantomJS 来说起吧。

1、PhantomJS是什么?
PhantomJS是一个基于webkit的javascript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、html5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。
也就是说我们可以使用 PhantomJS 来模拟浏览器,而且是个无页面浏览器,想像一下我们的网页加载都是通过什么,浏览器,如果我们直接模拟浏览器加载,那么网页里面的什么 js 动态加载,ajax 动态的加载的东西啊全部不是问题,因为我们模拟的是浏览器,不过貌似效率上面略有欠缺,尤其是加载大型页面,对于此种我们可以选择放弃某些东西的加载,比如图片 css 之类,毕竟我们只是模拟请求不是为了界面,这样应该会提升一些速度。
下面给出几个地址
1.PhatomJS 官网
2.PhantomJS API
2、PhantomJS下载与安装
官方下载地址:http://phantomjs.org/download.html。目前官方支持三种操作系统,包括windows\Mac OS\linux这三大主流的环境。你可以根据你的运行环境选择要下载。
载完成后解压文件,建议为方便使用,单独放在一个文件夹里,其中路径最好不要有中文,以免出现什么奇怪的东西。到这里,你已经成功下载安装好PhantomJS了。那么,打开刚刚解压的陌路 phantomjs\bin 文件夹,双击运行phantomjs.exe,出现如下界面,那么你就可以运行JS代码了。不过这样还是比较麻烦,那么我们就来配置系统环境变量 右击我的电脑–>点击管理–>高级系统设置–>环境变量,然后找到系统的 Path WIn10的话直接点击新建然后贴上你的 PhatomJS 解压路径,注意路径要一直到 bin 文件夹,如果是 win7 就直接在现有的变量后面添加路径,注意开头要加 ; 符号。
为了测试是否环境变量配置正确,你可以 cmd 输入 phantomjs ,出现如下界面就成功了

image

下面我们就可以开始上菜了,HelloWorld。在你的工程目录下新建一个 hello.js 文件,输入以下代码,这次我们还是看看网易新闻 http://news.163.com/
var page = require('webpage').create();
phantom.outputEncoding="gbk";//指定编码方式
page.open("http://news.163.com/", function(status) {
if ( status === "success" ) {
console.log(page.title);//输出网页标题
} else {
console.log("网页加载失败");
}
phantom.exit(0);//退出系统
});
然后 cmd 进入工程目录,也就是 hello.js 的目录,如下:输入 phantomjs hello.js 运行

image
image

 好了我们已经跑的第一个 PhantomJS程序了,其他的这篇博客讲的比较详细,传送门
posted @ 2019-12-13 08:37  中国人醒来了  阅读(368)  评论(0编辑  收藏  举报