Импорт сообщений с twitter средствами PHP5
Добрый день, Дорогие друзья! Сегодня я хочу вам рассказать о том, как импортировать сообщения с твиттера к себе на сайт или блог. В прошлой статье я рассказывал, как получать данные с твиттер аккаунта. Также в комментариях спрашивали как парсить сообщения, но из основного XML документа, их не получить.
Поискав информацию о твиттере, я нашел решение. У каждого аккаунта существует RSS лента, которая содержит все сообщения, которые писал аккаунт. После небольших раздумий я пришел к выводу, что можно парсить сообщения также как и основные данные.
И так, приступим!
Так как RSS лента имеет идентичную структуру документа, что и XML документ, то можно с помощью встроенного расширения PHP5 – SimpleXML, также получать данные и с RSS ленты. Нам понадобится всего одна функция этого расширения – simplexml_load_file().
Пример ссылки на RSS ленту твиттер аккаунта:
http://twitter.com/statuses/user_timeline/125820403.rss
125820403 – это id твиттер аккаунта. Как его узнать я писал в прошлой статье.
Код получения сообщений с твиттер аккаунта:
$xml = simplexml_load_file('http://twitter.com/statuses/user_timeline/125820403.rss'); $xml->channel->title; $xml->channel->link; $xml->channel->description; $xml->channel->language; $xml->channel->ttl; $count=10; for($i=0; $i<$count; $i++){ echo $xml->channel->item[$i]->pubDate.'<BR>'; echo $xml->channel->item[$i]->title.'<BR>'; echo $xml->channel->item[$i]->description.'<BR>'; echo $xml->channel->item[$i]->link.'<BR>'; }
$xml – подгружает RSS ленту твиттер аккаунта. Тут вы должны только поменять 125820403 на id своего аккаунта.
$xml->channel->title; — содержит данные: Twitter / имя в твиттере.
$xml->channel->link; — ссылка на твиттер аккаунт.
$xml->channel->description; — содержит данные: Twitter updates from имя аккаунта/ имя в твиттере.
$xml->channel->language; — язык, который использует аккаунт в твиттере.
$xml->channel->ttl; — содержит данные: 40 – что это такое, я так и не понял.
$count; - количество получаемых сообщений.
$xml->channel->item[$i]->pubDate; — дата публикации сообщения.
$xml->channel->item[$i]->title; — заголовок сообщения.
$xml->channel->item[$i]->description; — сообщение.
$xml->channel->item[$i]->link; — ссылка на сообщение в твиттере.
Вот и всё решение. На мой взгляд, самое удобное и не нужно использовать сторонние библиотеки. Сразу хочу сказать, что это не готовое решение. То есть тут нужно еще разбирать сообщения делать активными ссылки и оформлять. Я только показываю способ получить все эти данные. Если будут просьбы, смогу сделать готовое решение.
На сегодня, это всё. Надеюсь, кому-то это будет полезно и пригодится для своих разработок.