如何使用Perl动态获取Web内容?

时间:2009-09-08 04:45:13

标签: javascript ajax perl

这有点棘手。我猜这个网页使用某种AJAX来根据搜索查询提取内容。当我使用get in Perl获取页面时,它会获取php / html后面的脚本代码,但不会获取手动搜索查询时显示的结果。我需要能够获取结果页面的内容。在Perl中有没有这样做?

2 个答案:

答案 0 :(得分:6)

查看Perl中的Selenium RCWWW::Selenium模块。有了它们,您就可以控制真正的网络浏览器。

另一个选项是WWW::HtmlUnit,它使用HtmlUnit Java库在没有Web浏览器的情况下执行JavaScript。 WWW::HtmlUnit使用Inline::Java授予Perl对库的访问权限。我发现在安装时,最好对“你想构建JNI扩展吗?”这个问题说“不”。

答案 1 :(得分:3)

如果您正在编写需要检查渲染页面的测试,您可以查看Schwern的javascript-tap-harness,它与Selenium一起使用并处理所有脚手架。

我还发现Using WWW::Selenium To Test Or Automate An Ajax Website非常有用。