0

可能重复:
如何使用 Perl 从使用 JavaScript 动态生成的网页中获取文本?

我对学习 Perl 很感兴趣,刚开始用 Perl 编写一个网络爬虫。在我抓取的页面上,有一个 Javascript 用于对该页面进行投票。只有当我点击投票星时,它才会显示当前页面的投票。所以在爬取过程中,我需要运行 Javascript 并了解页面的当前投票情况。

你有什么建议或例子吗?

谢谢..

4

2 回答 2

3

您需要将模块WWW::ScripterWWW::Scripter::Plugin::JavaScript一起使用。

概要:

#!/usr/bin/perl

use strict;
use warnings;
use WWW::Scripter;

$w = new WWW::Scripter;
$w->use_plugin('JavaScript');  # packaged separately
$w->get('http://some.site.com/that/relies/on/javascript');
$w->eval(' alert("Hello from JavaScript") ');
$w->document->getElementsByTagName('div')->[0]->....
$w->content; # returns the HTML content, possibly modified by scripts
于 2012-04-11T16:24:33.587 回答
2

使用 perl 来驱动实际的浏览器是一种选择(例如WWW::Mechanize::FirefoxWWW::Selenium等)。要在 perl 中实际运行 javascript,请尝试使用WWW::ScripterWWW::Scripter::Plugin::JavaScript

于 2012-04-11T08:28:48.127 回答