プロが教えるわが家の防犯対策術!

Google NewsのRSS情報をperlで取得し、表示するプログラムを作っています。
が、他のサイトのRSS情報は容易に取得できるのに、Google Newsだけは、取得できません。

具体的には、、、

-----------------------------

#!/usr/local/bin/perl
use LWP::Simple;
use XML::RSS;
my $url = 'http://news.google.com/news?hl=ja&ned=us&ie=UTF- …
my $data_from_web = get($url);

print <<"HTML";
Content-type: text/html

<html>
HTML

print $data_from_web;
print $url;
exit;

-----------------------------

※URL部分が長すぎて一部省略されている様ですが、
あえて2行で書くと、こうなっています。
http://news.google.com/news?hl=ja&ned=us&ie=UTF-8
&oe=UTF-8&output=rss&q=aiko';

上記の様な簡単なプログラムで、歌手aikoのニュースに関する
RSS情報を取得し、表示できるはずなのですが、実行してみても、
何も表示されません。
ちなみに、my $urlの部分を他のURL、例えば、日刊ゲンダイ
http://headlines.yahoo.co.jp/rss/gen_ent.xml
に差し替えて実行してみると、きちんと表示されます。

また、ブラウザーのURLの窓に、直接、プログラム内の$url部分である
http://news.google.com/news?hl=ja&ned=us&ie=UTF- …
というURLを入れ、リターンキーを押すと、歌手aikoのニュースに関する
RSS情報が直接ブラウザーで表示されます。
なのに、上記のプログラムでは表示されないのです。
(ブラウザー等の情報もPerlで送信しないとGoogle newsはRSS情報を送信してくれない?)

どの様にしたら、perlでGoogle NewsのRSS情報を取得できるのか、
教えていただけたら幸です。

尚、参考にしたサイトは以下です。

Google news日本語版
http://news.google.com/news??hl=ja&ned=jp&ie=UTF …

Googleニュース日本語版のAtom/RSSフィード
http://d.hatena.ne.jp/Gimite/20061205/1165287606

Googleニュース(日本語版)のRSSフィード
http://blog.fkoji.com/2006/12091315.html

Google News日本語版のRSSとAtomを取得してみるテスト
http://ryouchi.seesaa.net/article/28534464.html

PHPで実現しているGoogle NewsのRSS情報表示サイト
http://www.usamimi.info/~ryouchi/googlenews/inde …

Googleニュース用RSSジェネレータ
http://g.1o4.jp/news-rss.html

Google NewsがRSSフィードを採用 
http://zen.seesaa.net/article/5748907.html

RSSリーダーを使った情報収集術&便利なフィード7選
http://google-mania.net/archives/895

以上、よろしくお願い致します。

A 回答 (1件)

どうやら、LWP::Simple の UserAgent が問題のようですね。


以前も似た質問があり、Amazon も同じ理由で取得不可能でした。

LWP::Simple では UserAgent を指定できないので、
(モジュール自体を直接編集すれば可能)
LWP::UserAgent を使い UserAgent を指定すれば良いです。

use LWP::UserAgent;
my $url = 'http://news.google.com/xxxxxx;
my $ua = new LWP::UserAgent;
my $responce = $ua->get($url, 'User-Agent' => 'Mozilla/4.0');
my $data_from_web = $responce->content;
    • good
    • 0
この回答へのお礼

素早い回答、ありがとうございます!!
3日間悩んでいた問題が、たったの10分で解決しました!
おかげで、無事、RSSを取得できました。
心から御礼申し上げます。
また何か悩んだ時は宜しくお願い致します。

お礼日時:2008/02/22 05:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!