如何使用Perl来抓取一个用JavaScript显示其内容的网站?

时间:2010-04-24 09:21:54

标签: javascript windows perl internet-explorer mechanize

我需要编写一个Perl脚本来抓取一个网站。该网站只能用JavaScript抓取,用户在Windows上。

我在我的工作机器上有Win32::IE::Mechanize的某种方式,它有IE6,但后来我转移到我的上网本,它有IE8,甚至无法获取一个简单的页面。

Win32 :: IE :: Mechanize是否与最新版本的IE保持同步?

但是,更重要的是,鉴于最近的WinXP机器,什么是最简单,最简单的方法来刮取只通过JavaScript显示其内容的网站?

4 个答案:

答案 0 :(得分:3)

WWW::Selenium

  • 它允许您指定要使用的浏览器(从一开始就支持IE和Firefox)
  • 它支持通过xpath元素,表ID,文本(正则表达式匹配!)和URL
  • 访问元素
  • 它提供了一个用户互动选项的瑞士军刀,让您灵活地模拟最终用户浏览的方式

您需要下载Selenium Remote Control并让它在后台运行才能使模块正常工作。

如果您的页面加载时间不可预测,则可能不是一个好的选择。

答案 1 :(得分:0)

看看Win32::Watir。它是一个较新的模块,明确支持IE 6,7和8。

答案 2 :(得分:0)

我没有看到WWW::Mechanize的提及,所以为了完整起见,我会提出来。 Selenium也变得非常流行,可以在很多测试场景中使用。

答案 3 :(得分:0)

WWW::Scripter及其:: Plugin :: Javascript可能对您有帮助。