X-SEO

X-SEO > 技術メモ > Perl > 接続 > HTTP > HTMLソース取得

Perl

HTMLソース取得

#===========================================================================*
# プログラム名  : HTMLソース取得                                            *
# プログラムID  : SocketGetSource                                           *
# 使用例        : &SocketGetSource('http://www.x-seo.com/index.htm');       *
#---------------------------------------------------------------------------*
# 入力引数[0]   : URL                                                       *
#---------------------------------------------------------------------------*
# 出力引数[0]   : Source                                                    *
#===========================================================================*
sub SocketGetSource {
    #-------------------------------*
    # モジュール使用宣言            *
    #-------------------------------*
    use LWP::UserAgent;
    use HTTP::Request;
    #-------------------------------*
    # 処理                          *
    #-------------------------------*
    my($ua)         = new LWP::UserAgent;
    $ua->agent('Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    my($request)    = new HTTP::Request('GET', $_[0]);
    my($response)   = $ua->request($request);
    return $response->content if ($response->is_success);
}

備考

問題点 : Search Engine Scan で検索エンジンの検索結果を取得しようと試みたところ、Yahoo!JAPAN と msn のデータは取得できたが何故か Google のデータだけが取得出来なかった。

$ua->agent('Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');

解決策 : 上の一行を追加したら取得出来るようになってHAPPYになった。UA確認するなんて粋だね!