RSS-каналы в PHP

Просто интересно, может ли кто-нибудь предложить библиотеку PHP, которая позволила бы мне читать данные RSS-канала и записывать их в базу данных MySQL. Также, если возможно, дайте ссылку на документацию о том, как это сделать?

Спасибо


person Community    schedule 23.09.2009    source источник


Ответы (6)


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>
person gnud    schedule 23.09.2009

Simplepie — вероятно, самая популярная библиотека PHP RSS.

person Daff    schedule 23.09.2009

Простое чтение данных — это то, для чего вы можете использовать simplexml.

http://www.ibm.com/developerworks/library/x-simplexml.html

Оттуда вы можете увидеть, как легко получить данные, вместо того, чтобы отображать их, вы сохраняете их в базе данных.

Глюки: плохо отформатированный rss (см. выше) разные варианты rss (то же самое) плохие значения в rss - это посторонние данные, и их следует обрабатывать с подозрением на зависимость от allow_url_fopen - возможно, используйте cURL

person Cups    schedule 23.09.2009
comment
Это именно то, что я делаю, я использую cURL для получения каналов и кэширования их каждые x часов. И я использую SimpleXML для извлечения соответствующей информации. - person Waleed Amjad; 23.09.2009

SimplePie, безусловно, путь. Вы можете загрузить и проанализировать RSS-канал, уложив менее 10 строк кода. здесь есть руководство, в котором показано, как это сделать.

person Phyxx    schedule 14.11.2009

Magpie — отличная RSS-библиотека.

http://magpierss.sourceforge.net/

Вот пример его использования: http://www.olate.co.uk/articles/view.php?id=214

После того, как вы использовали Magpie для захвата RSS-канала, вы можете сохранить его в строке и сохранить в БД, как и любую другую строку.

person Steve Claridge    schedule 23.09.2009
comment
Magpie сильно устарела и довольно сложна в использовании. - person Ryan McCue; 23.09.2009

Вы также можете попробовать XPath, довольно простой в использовании.

person Kyle J. Dye    schedule 23.09.2009