やったこと

webサービスを作るときに考えたことを垂れ流します

SimplePieで人のブログのRSSをこっそり取得する

SimplePieっていうPHPライブラリを使うと指定したブログのRSSを取得できるよ。
以下使い方をざっくり説明するよ。

①インストールするよ
以下の公式ページでダウンロードできるよ。私のダウンロードしたのはバージョン1.3.1という最新版のやつだよ。

http://simplepie.org/

zipを展開するといっぱいファイルが出てくるけど、使うのは「autoloader.php」のファイルと「liberary」のディレクトリだけだよ。この2つのファイルをサーバーの同じディレクトリにアップして「autoloader.php」をrequire_onceすれば使えるよ。

②使い方だよ
コードを見たほうが早いよ。以下のようにすると使えるよ。

<?php
date_default_timezone_set("Asia/Tokyo");
require_once('./autoloader.php');

$feed = new SimplePie();
$feed->set_feed_url('RSSのURLを入力');
$feed->enable_cache(false); //キャッシュ機能はオフで使う
$success = $feed->init();
$feed->handle_content_type();

if ($success){
  foreach ($feed->get_items() as $item) {
    echo $item->get_feed()->get_title()."\n"; //サイトタイトル
    echo $item->get_title()."\n"; //記事タイトル
    echo $item->get_link()."\n";  //記事URL
    echo $item->get_date('Y-m-d')."\n"; //記事投稿時刻
    echo mb_convert_encoding($item->get_description(),'UTF-8', 'HTML-ENTITIES')."\n"; //記事ディスクリプション
    foreach ($item->get_categories() as $category){ //記事カテゴリ
        echo $category->get_label()."\n";
    }
  }
}else{
  echo $feed->error();
}
?>


このコードを叩くと指定したRSSから記事を拾ってくるよ。
ちなみに相手サーバのhttpdには以下のようなログが残るよ。

xxx.xxx.xxx.xxx - - [10/Oct/2015:17:22:31 +0900] "GET /feed HTTP/1.1" 200 26428 "http://hogege.com/feed" "SimplePie/1.3.1 (Feed Parser; http://simplepie.org; Allow like Gecko) Build/20151009113822"


悪いことしようとしたってバレちゃうんだからね!