我对学习 Perl 很感兴趣,刚开始用 Perl 编写一个网络爬虫。在我抓取的页面上,有一个 Javascript 用于对该页面进行投票。只有当我点击投票星时,它才会显示当前页面的投票。所以在爬取过程中,我需要运行 Javascript 并了解页面的当前投票情况。
你有什么建议或例子吗?
谢谢..
我对学习 Perl 很感兴趣,刚开始用 Perl 编写一个网络爬虫。在我抓取的页面上,有一个 Javascript 用于对该页面进行投票。只有当我点击投票星时,它才会显示当前页面的投票。所以在爬取过程中,我需要运行 Javascript 并了解页面的当前投票情况。
你有什么建议或例子吗?
谢谢..
您需要将模块WWW::Scripter与WWW::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
使用 perl 来驱动实际的浏览器是一种选择(例如WWW::Mechanize::Firefox、WWW::Selenium等)。要在 perl 中实际运行 javascript,请尝试使用WWW::Scripter和WWW::Scripter::Plugin::JavaScript。