java爬虫项目,如何获取js执行后的完整网页源代码?
java爬虫项目,如何获取js执行后的完整网页源代码?
一、问题描述:
现有一个java爬虫项目,需要获取网页中的javascript执行后生成的完整的网页源码(通常使用的右键-查看源代码是看不到js执行后的内容的,用firefox的firebug看到的代码就是js执行后的代码),从中提取一些有用的数据。目前用到的方案是SWT调用IE浏览器内核来执行网页并获取代码,这种方式有两个地方存在严重不足:
1.效率低下,且不够灵活。需要根据目标网站的效应速度和自身爬虫机器的网络情况来设置爬取的超时时间,这样一来抓取一个URL页面可能需要10-30秒不等的时间,非常的慢。
2.由于IE内核本身的不稳定性,在通过浏览器模式抓取的时候偶尔会出现内存泄露从而导致整个程序死掉的严重问题。
求助:
不知道有没有其他的可替代方案,如:通过java的脚本执行引擎执行js来获取网页代码,或者其他的方案。请各位大侠帮忙,感激不尽!