java爬虫抓取js/ajax动态生成的网页

    最近一段时间,公司要写一个爬虫项目,遇到一些js或者ajax动态生成的网页,在网上找了一下,发现webdriver比较靠谱,至于htmlunit测试了一些网站直接抛异常,可能对于js支持的不是特别好。

    WebDriver一般来说有两方式:本地diver和远程diver。由于爬虫最终会部署到linux服务器,只能在命令行运行,好像是装不了浏览器,所以本地driver的流程走不通,只能尝试远程driver。还好,发现一个phantomjs的webdriver,可以在linux无界面下运行,于是选择它作为处理js动态生成网页的解决手段。

     下载去官网:http://phantomjs.org/download.html,找到对应版本下载。解压即安装。进入bin目录,执行phantomjs,需要带上启动参数,执行远程driver的地址和端口。phantomjs --webdriver 127.0.0.1:10025。

     java连接:

     

WebDriver driver = new RemoteWebDriver("http://127.0.0.1:10025", DesiredCapabilities.phantomjs());
driver.get("http://www.iteye.com");

 

    

猜你喜欢

转载自kibear.iteye.com/blog/2279833