WWW::用Perl实现机械化



我目前是WWW::机械化的新手,正在使用它构建一个网络抓取工具,该工具将进入学校网站并提取课程数据,以便我正在构建的网站能够识别冲突。我目前有这样的Perl代码:

#!/user/bin/perl  
use warnings;
use strict;
use WWW::Mechanize;
my $browser = WWW::Mechanize->new;
$browser->get( 'https://registrar.ucdavis.edu/courses/search/index.cfm');
$browser->form_number(3); #Search Form
$browser->select('subject', 'AAS');
$browser->submit();
print $browser->content();

按照网站的工作方式,你进入,选择一个主题区域,然后点击"搜索"。然后,将根据您在上面表单中选择的内容填充一个表。

我目前只专注于让我的脚本从下拉菜单中选择一个选项,单击"搜索",然后复制结果,但首先,我不确定它是否真的有效(它没有给我任何错误,但我不确定他做了什么),其次,我不知道如何查看表中弹出的数据。任何帮助都将不胜感激!

Javascript魔术在这个页面上使用。您需要手动发出POST请求

以下是POST请求(来自Firefox的HTTPFox扩展):

termYear    2014
term    10
course_number   
multiCourse 
course_title    
instructor  
subject AAS
course_start_eval   -
course_start_time   -
course_end_eval -
course_end_time -
course_status   -
course_level    -
course_units    -
virtual -
termCode    201410
runMe   1
clearMe 1
reorder 
gettingResults  0
search  Search
_cf_nodebug true
_cf_nocache true

这是代码:

$mech->post("https://registrar.ucdavis.edu/courses/search/course_search_results_mod8.cfm", 
    Content => {
        termYear => "2014",
        term => "10",
        ...
        subject => "AAS",
        ...
    },
);

最新更新