- ベストアンサー
LWPでHTMLが取得できない場合の理由とは?
- LWPを使用してHTMLを取得すると、取得可能なサイトと不可能なサイトがあります。
- yahooのトップページは取得可能ですが、wikipediaは取得できません。
- 取得できない場合、エラーメッセージが表示されない理由を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
wikipedia では、LWP::Simple のアクセスを許可していないのだと思います。 get() の代わりに getprint() を使用すると、次のエラーメッセージが出ます。 $ perl -MLWP::Simple -e "getprint 'http://ja.wikipedia.ogr/';" 403 Forbidden <URL:http://ja.wikipedia.org/> 下記の URL でほぼ同じ問題を取り上げていますのでご覧ください。
その他の回答 (2)
- jjon-com
- ベストアンサー率61% (1599/2592)
お礼
回答ありがとうございます。
ユーザーエージェントで弾いてるんじゃないですか Googleとかもlibwww-perlの方弾いてます LWP::Simpleのリクエストヘッダはこれで403 Forbiddenとエラーページ返ってきてます GET http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 HTTP/1.1 TE: deflate,gzip;q=0.3 Connection: TE, close Host: ja.wikipedia.org User-Agent: LWP::Simple/5.814 LWPを使った場合はこれで200 OKでちゃんとコンテンツ返ってきてます GET http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 HTTP/1.1 TE: deflate,gzip;q=0.3 Connection: TE, close Host: ja.wikipedia.org User-Agent: libwww-perl/5.814
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。 参考URLで解決しました。