上一篇網路蜘蛛Spider和大家提到要寫一個搜括email的程式,
這邊就來實作一下吧,
當然還是用簡單易用的perl來寫:)
想法
程式的想法是這樣,
一、讀入一個帳號
二、連結到該帳號的profile頁面
三、抓下這個頁面
四、比對這個頁面是否有email帳號,有email帳號的話將帳號秀出來
準備資料
首先我們先準備一些pixnet的帳號,
當然這些帳號也可以用程式來找,
但這邊我就不示範怎麼抓了,
這些帳號我直接寫在程式裡面。
程式碼
use WWW::Mechanize;
use HTML::TreeBuilder;
my $mech=WWW::Mechanize->new();
while(<DATA>){
chomp;
my $id=$_;
my $url='http://www.pixnet.net/profile/'.$id;
my $res= $mech->get($url);
my $root=HTML::TreeBuilder->new_from_content($res->content);
my @links=$root->look_down(_tag=>'td');
for($j=0; $j<=$#links; $j++){
if($links[$j]->as_trimmed_text =~ /\@/){
print $links[$j]->as_trimmed_text, "\n";
}
}
$root->delete;
}
__DATA__
jck11
解說
這個程式應該蠻簡單的,
用到了WWW::Mechanize和HTML::TreeBuilder兩個模組,
在比對email帳號時只比對了@符號,
可能不是很精確,
不過下一篇文章我會講介紹一個判斷email是否正確的模組:)
__DATA__下面可以輸入你想找的pixnet帳號,
這個示範只輸入我的帳號而以,
當然這個部份可以改成讀入一個外部檔案。
這邊就來實作一下吧,
當然還是用簡單易用的perl來寫:)
想法
程式的想法是這樣,
一、讀入一個帳號
二、連結到該帳號的profile頁面
三、抓下這個頁面
四、比對這個頁面是否有email帳號,有email帳號的話將帳號秀出來
準備資料
首先我們先準備一些pixnet的帳號,
當然這些帳號也可以用程式來找,
但這邊我就不示範怎麼抓了,
這些帳號我直接寫在程式裡面。
程式碼
use WWW::Mechanize;
use HTML::TreeBuilder;
my $mech=WWW::Mechanize->new();
while(<DATA>){
chomp;
my $id=$_;
my $url='http://www.pixnet.net/profile/'.$id;
my $res= $mech->get($url);
my $root=HTML::TreeBuilder->new_from_content($res->content);
my @links=$root->look_down(_tag=>'td');
for($j=0; $j<=$#links; $j++){
if($links[$j]->as_trimmed_text =~ /\@/){
print $links[$j]->as_trimmed_text, "\n";
}
}
$root->delete;
}
__DATA__
jck11
解說
這個程式應該蠻簡單的,
用到了WWW::Mechanize和HTML::TreeBuilder兩個模組,
在比對email帳號時只比對了@符號,
可能不是很精確,
不過下一篇文章我會講介紹一個判斷email是否正確的模組:)
__DATA__下面可以輸入你想找的pixnet帳號,
這個示範只輸入我的帳號而以,
當然這個部份可以改成讀入一個外部檔案。
全站熱搜
留言列表