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"
悪いことしようとしたってバレちゃうんだからね!