使用动态生成的内容抓取页面

时间:2010-09-12 21:56:49

标签: java web-crawler

我一直在使用java.net抓取工具来定制自定义抓取工具。问题在于动态生成的内容,例如博客上的评论。请考虑以下页面http://www.avc.com/a_vc/2010/09/contrarian-investing.html。如果您抓取页面并获取源,则无法查看页面的整个内容。我需要内容的原因是因为我正在执行一些关键字密度计算。因此,我需要我的应用程序才能确切地看到浏览器会看到什么。有什么建议吗?

我看过apache的httpclient,然而,这与上面的抓取工具相同,只是返回源代码。我认为特定的页面有一个javascript片段,它返回来自另一个域的注释,所以我想我需要的是在下载后解析源,然后获取文本。任何帮助表示赞赏。

感谢

萨姆

3 个答案:

答案 0 :(得分:2)

Web测试API中有JS支持。我认为HTTPUnit有一些能力与Rhino一起执行Javascript。自从我使用它已经有一段时间了,我似乎记得它不能正常工作。或者,您可以尝试使用Selenium RC,我认为这对于那种事情非常强大,但是不确定它是否能够专门解决您的问题。

硒 - http://seleniumhq.org/projects/remote-control/ HTTPUnit - http://httpunit.sourceforge.net/

答案 1 :(得分:0)

尝试使用现有的javascript引擎(来自谷歌的V8或来自mozilla的Rhino)执行时间超时。但这可能很难。 可能更容易尝试在javascript文本中检测请求URL并使用crawler请求它

答案 2 :(得分:0)

Crawljax是一个免费的开源Web爬虫,用于自动抓取和分析基于Ajax的动态Web应用程序。舞台上的功能是对Dynamic网站进行抓取。 请参阅网址https://github.com/crawljax/crawljax。 但它是测试工具。