我正在開發一個項目到網站,將每次採訪發現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