我正在开发一个项目到网站,将每次采访发现here转化为一个HTML准备好的文档,稍后转储到一个DB中,该DB将自动更新我们的网站最新的内容。你可以看到我当前的网站抓取脚本的一个例子,我问了一个有关前一天的问题:WWW::Mechanize Extraction Help - PERL使用WWW :: Mechanize刮目录下的多个页面 - Perl
问题我似乎无法环绕我的头是知道如果我现在想要完成的是甚至可能。因为我不想猜想当一个新的采访发布时,我希望能够抓取具有所有采访目录列表的网站,并自动让我的程序获取新的内容网址(新面试)。
再次,有问题的网站是在这里(向下滚动查看面试上市):在上面的链接的结束,希望http://millercenter.org/president/clinton/oralhistory
我最初的想法是有一个正则表达式\它会自动搜索在该页面下找到的任何链接。但是,我似乎无法使用WWW :: Mechanize获得此功能。我将发布我在下面的内容,如果任何人有任何指导或经验与此,您的反馈将不胜感激。我还会在代码下面总结我的任务,以便您对我们希望完成的任务有一个简明的理解。
感谢任何和所有可以帮助!
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use WWW::Mechanize::Link;
use WWW::Mechanize::TreeBuilder;
my $mech = WWW::Mechanize->new();
WWW::Mechanize::TreeBuilder->meta->apply($mech);
$mech->get("http://millercenter.org/president/clinton/oralhistory/\.");
# find all <dl> tags
my @list = $mech->find('dl');
foreach (@list) {
print $_->as_HTML();
}
# # find all links
# my @links = $mech->links();
# foreach my $link (@links) {
# print "$link->url \n";
# }
要总结一下我希望是可能的:
提取每一次采访的内容的HTML准备文档中找到here像我一样在这里:WWW::Mechanize Extraction Help - PERL。这需要'get'操作能够遍历/ oralhistory /目录下列出的页面,这些页面可以使用正则表达式来解决?
可能解压目录页答辩名称和位置字段标题字段中填充(这不是什么大不了的事,如果它不能这样做)
你的线条与''//破坏你的代码。 Perl的注释仅适用于您已经使用过的'#'。 – simbabque
哎呀!我手动添加了这些,这是我的错误。我在脚本中有#,所以它没有任何问题在运行。谢谢你指出,虽然。我会编辑它。 – MikeEMKI