2012/07/04

FaceBookのRSSフィードスクレイピング



サーバからphpのfile_get_contentsを使って、
フィード情報を取得しようとしたら
「互換性のないブラウザ」
なんていうHTMLのデータが取得されてきた。
しょうがないからUserAgentにFireFoxのデータをぶち込むことで
フィードのXMLデータが取得できた。

$ua="User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1\r\n";
$options = array('http' => array('method' => 'GET','header' => $ua));
$feed_str = file_get_contents("facebook_rss", false, stream_context_create($options));

一安心かと思いきやSJISにエンコードした際に、意味不明な文字化けが発生。
何かと思い文字コードを確認してみると”C2A0″ってコードが悪さしており
調べてみるとUTF8の半角スペースで、エンコードで失敗してしまう。
しょうがないので事前にソース上で変換する事で解決できた。

str_replace( "\xc2\xa0", " ", description);

やり方あってる?


0 件のコメント:

コメントを投稿