最近项目进行二次开发,需要获取别的网站数据,开始使用的java后台向其它服务器发送post或者get请求,这样开始的确可以获得自己想要想要的数据,但是有些个别网站吧这些数据放在了前端,这样就用java发送后台请求就不行了。然后我的组长就说了可以用 phantomjs(一个没有界面的浏览器,对其操作只能用js代码进行控制)。
下载地址:http://phantomjs.org/
这个下载速度很慢,当然我就是说说,我花了半个小时下载10mb.要注意下载的版本,我用在Windows上的,所以下载了Windows版本的。
首先安装,解压到一个你自己想解压的盘符中,然后添加环境变量
d://pahntomjs-2.1.1-windows/bin
在这个目录下你会看到如下图
我们在刚使用phantomjs时只需要在这个目录在的bin目录下运行。
在这个目录下只有一个应用程序phantomjs.exe。你可以把这个应用程序打开有的界面理解为Chrome浏览器中的控制台,例如我们打开这个应用程序,在其中输入
我们可以看到在控制台打印出来
hello phantomjs
undefined
这样我们就使用了phantomjs了。在这说一下,要使用好phantomjs最好的房方法就是去官网看API和网上的一些使用者的心得。当你在path中添加了phantomjs,便可以在命令行使用它,格式是phantomjs ×××.js
执行phantomjs –help 可以查看所有option
例如 –load-image 可以设置抓取网页是否加载图片
–config 可以指定页面打开时的参数
–local-url-access 指定是否可以打开本地文件
phantomjs可以自带一个phantom对象,另外还可以创建5个对象
1、phantom 代表这phantomjs自身
2、require(‘webpage’) 需要打开的页面
3、require(‘child_process’) 在打开页面调用其他子进程
4、require(‘fs’) 本机的文件系统
5、require(‘system’) 本机操作系统
6、require(‘webserver’) 开启本地基于phantom的web服务
具体每个对象的使用 查看官网的API