Hatena::ブログ(Diary)

玄鵬の地下室

2011-05-25

facebookのRSSをPHPで取得する際の罠

facebookファンページのウォール情報をウェブサイトのお知らせにさせたいと思ってやってみた。

ファンページの左カラム下部にある「RSSを取得」でRSSが配信されるURLを取れるので、これをsimplexml_load_file()関数で取得して処理すれば使えるだろうと思っていた。

ところがエラーが出て使えない。phpからRSS用のURLアクセスすると、「お使いのブラウザには互換性がありません」という表示のHTMLが発行されるようだ。要するに、facebook内の情報をスクレイプさせないための防護壁らしい。

では、どうすればいいのか。検索しても、この問題について書かれていない。英語サイトだが、同じ問題に直面している人がいた。

http://stackoverflow.com/questions/1516794/im-having-trouble-parsing-a-facebook-feed-using-simplexml

php.iniを書き換えるという手段を提案しているが、レンタルサーバじゃ無理だし、そうでなくても面倒。

以下のサイトで、facebookファンページのRSSの取得方法が書かれていた。

http://socialmediaseo.net/2010/01/14/facebook-fan-page-rss-feeds/

一言で言えば、feedburnerを噛ませて、phpで取得可能なfeedを改めて吐き出させるという方法。これで無事にsimplexml_load_file()でRSSパースできた。

このページを参照にして、「FacebookファンページのRSS情報を取得する」という記事を書いている日本語サイトも見られるが、feedburnerなどを噛ませないと直接はRSS情報を取りにいけないことを書いておけよ!

http://ikebukuroworker.blogspot.com/2010/12/facebookrss.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/genhou/20110525/1306308333
リンク元