Просто интересно, может ли кто-нибудь предложить библиотеку PHP, которая позволила бы мне читать данные RSS-канала и записывать их в базу данных MySQL. Также, если возможно, дайте ссылку на документацию о том, как это сделать?
Спасибо
Просто интересно, может ли кто-нибудь предложить библиотеку PHP, которая позволила бы мне читать данные RSS-канала и записывать их в базу данных MySQL. Также, если возможно, дайте ссылку на документацию о том, как это сделать?
Спасибо
RSS — довольно простой формат — нет особой необходимости использовать отдельную библиотеку.
Я бы просто использовал simplexml, потому что не хочу тратить усилия на изучение другой библиотеки и поддержание с его развитием.
Вот простой PHP-скрипт для отображения последних сообщений Stackoverflor с помощью simplexml:
<?php
$rss = simplexml_load_file('http://stackoverflow.com/feeds');
?>
<h1><?php echo $rss->title; ?></h1>
<ul>
<?php
foreach($rss->entry as $e) {
echo "<li><a href=\"".$e->link['href']."\">";
echo $e->title;
echo "</a></li>\n";
}
?>
</ul>
Простое чтение данных — это то, для чего вы можете использовать simplexml.
http://www.ibm.com/developerworks/library/x-simplexml.html
Оттуда вы можете увидеть, как легко получить данные, вместо того, чтобы отображать их, вы сохраняете их в базе данных.
Глюки: плохо отформатированный rss (см. выше) разные варианты rss (то же самое) плохие значения в rss - это посторонние данные, и их следует обрабатывать с подозрением на зависимость от allow_url_fopen - возможно, используйте cURL
SimplePie, безусловно, путь. Вы можете загрузить и проанализировать RSS-канал, уложив менее 10 строк кода. здесь есть руководство, в котором показано, как это сделать.
Magpie — отличная RSS-библиотека.
http://magpierss.sourceforge.net/
Вот пример его использования: http://www.olate.co.uk/articles/view.php?id=214
После того, как вы использовали Magpie для захвата RSS-канала, вы можете сохранить его в строке и сохранить в БД, как и любую другую строку.
Вы также можете попробовать XPath, довольно простой в использовании.