Я тут наткнулся на аккаунт Антона Шкаплерова в инстаграме, если кто не знает — это российский космонавт-испытатель, который сейчас на МКС. Так вот он ведет весьма неплохой инста-аккаунт с фотками и видео со станции, которые, к слову, весьма красивые (см выше). Т.к. у меня с инстаграмом не сложилось, я озадачился поисками альтернатив получения новостей в нужном мне формате. Формат интересовал именно RSS, ибо большую часть новостей я получаю через него. В итоге я наткнулся на такой замечательный php-скрипт. Немного отредактировав под свои нужды делюсь оным.
Файл назовем igrss.php. Для получения rss-потока вызываем его следующим образом:
…/igrss.php?user=instagram-username
<?php if (!isset($_GET['user'])) { exit('Неверный запрос. Пример запроса: .../igrss.php?user=instagram-username'); } header('Content-Type: text/xml; charset=utf-8'); $html = file_get_contents('http://instagram.com/'.$_GET['user'].'/'); $html = strstr($html, '{"static_root'); $html = strstr($html, '</script>', true); $html = substr($html, 0, -1); $data = json_decode($html); $rss_feed = '<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel>'; $rss_feed .= '<title>'.$_GET['user'].'\'s Instagram Feed</title> <atom:link href="http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"].'" rel="self" type="application/rss+xml" /> <link>http://instagram.com/'.$_GET['user'].'</link> <description>'.$_GET['user'].'\'s Instagram Feed</description>'; foreach($data->entry_data->UserProfile[0]->userMedia as $user_media) { $rss_feed .= '<item><title>'; if(isset($user_media->caption->text) && $user_media->caption->text != '') { $rss_feed .= htmlspecialchars($user_media->caption->text, ENT_QUOTES, ENT_HTML5); } else { $rss_feed .= 'photo'; } // pubdate format возможен также: "D, d M Y H:i:s T" $rss_feed .= '</title><link>'.$user_media->link.'</link><pubDate>'.date("r", $user_media->created_time).'</pubDate><description><![CDATA[<img src="'.$user_media->images->standard_resolution->url.'" />]]></description><guid>'.$user_media->link.'</guid></item>'; } // foreach userMedia (photo) $rss_feed .= '</channel></rss>'; echo $rss_feed; ?>
И уже в RSS-читалке получим такую вот красоту:
upd: Более не работает этот вариант. Пользуйте https://websta.me/rss/n/USERNAME