スパムや無作法なクローラー対策のため、LWPのデフォルトユーザーエージェント「LWP/バージョン」や
「libwww-perl/バージョン」などを拒否しているサイトは結構多い。Google先生もその一人。
UA拒否を回避するにはLWP::UserAgentのagent()で任意のユーザーエージェントを指定してやればおk。
実行するとこんな感じ
$ ./guguru.pl twitter
「libwww-perl/バージョン」などを拒否しているサイトは結構多い。Google先生もその一人。
UA拒否を回避するにはLWP::UserAgentのagent()で任意のユーザーエージェントを指定してやればおk。
とりあえずGoogle先生は「IE」で問題ない。#!/usr/bin/perl
use LWP::UserAgent;
use URI::Escape;
($keyword) = @ARGV;
$uri = uri_escape($keyword);
$w = LWP::UserAgent->new;
$w->agent('IE');
$html = $w->get("http://www.google.co.jp/search?q=$uri&safe=off")->content;
@links = $html =~ m{<a.*?href="(http://[^"]+)"}gi;
foreach(@links){
print "+ $_\n";
}
実行するとこんな感じ
$ ./guguru.pl twitter
+ http://www.google.co.jp/search?q=twitter&um=1&ie=UTF-8&hl=ja&tbm=isch&source=og&sa=N&tab=wi
+ http://www.google.co.jp/search?q=twitter&um=1&ie=UTF-8&hl=ja&tbo=u&tbm=vid&source=og&s+ a=N&tab=wv
+ http://maps.google.co.jp/maps?q=twitter&um=1&ie=UTF-8&hl=ja&sa=N&tab=wl
+ http://news.google.co.jp/nwshp?hl=ja&tab=wn
+ http://www.google.co.jp/search?q=twitter&um=1&ie=UTF-8&hl=ja&tbo=u&tbm=shop&source=og&sa=N&tab=wf
+ http://www.google.co.jp/intl/ja/options/
+ http://www.google.com/history/optout?hl=ja
+ http://twitter.com/
+ http://twitter.com/Astro_Soichi
+ http://twitter.com/Kaz_Yamauchi
+ http://twitter.com/utadahikaru
+ http://twitter.com/Daishi_CALIBUR
+ http://twitter.com/Kojima_Hideo
+ http://twitter.com/SQEX_MEMBERS_JP
+ http://twitter.com/Astro_Soichi
+ http://ja.wikipedia.org/wiki/Twitter
+ http://www.greenspace.info/twitter/
+ http://twinavi.jp/guide
+ http://itunes.apple.com/jp/app/twitter/id409789998?mt=12
+ http://d.hatena.ne.jp/keyword/Twitter
+ http://www.talenttwit.com/
+ http://jptwitterhelp.blogspot.com/
+ http://www.tweetswind.com/
+ http://twipple.jp/
- 関連記事
-
-
perltidyで整形 2012/02/24
-
ddo.jpのDDNS更新を自動でやる 2012/01/05
-
LWPでググってみる 2011/12/29
-
Perlでクローラーっぽいもの 2011/12/29
-
Perlで地震情報を取得 2011/12/26
-