2010-09-12 81 views
0

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

我看了一下apache的httpclient,但是,就像上面的爬虫一样,只是返回源代码。我认为那个特定的页面有一个javascript部分,它返回来自另一个域的注释,所以我想我需要的是在下载它之后解析源代码,然后获取文本。任何帮助表示赞赏。

感谢

山姆

+0

您在问是否有预构建的抓取工具会自动将嵌入式iframe的内容包含到父文档中? – pstanton 2010-09-12 22:10:13

回答

1

Web测试的API在他们JS支持。我认为HTTPUnit有一些能够用Rhino执行Javascript的能力。虽然我已经使用了一段时间,但我似乎记得它运行得不好。或者,您可以尝试Selenium RC,我认为它对于这类事情来说非常强大,但又不知道它是否能够专门解决您的问题。

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

0

尝试使用JavaScript的存在(Mozilla的V8从谷歌或犀牛)引擎与执行时间超时。但这可能非常困难。 可能更容易尝试检测在JavaScript文本请求的URL与履带要求其

+0

我当然可以为这个页面做后者,但是我怎么能让所有其他页面都是免费的呢?假设所有其他页面只有JavaScript类型的页面生成是否正确?据推测,其他任何东西都是服务器端,正确的? – 2010-09-14 11:48:00

0

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