Я ищу хорошую библиотеку в python, которая поможет мне разобрать RSS-каналы. Кто-нибудь использовал feedparser? Любая обратная связь?
Библиотека парсеров RSS-ленты в Python
Ответ 1
Использование feedparser - намного лучший вариант, чем использование собственного мини-компьютера или BeautifulSoup.
- Он нормализует различия между всеми версиями RSS и Atom, поэтому вам не нужно иметь разный код для каждого типа.
- Это хорошо для обнаружения разных форматов дат и других вариантов в каналах.
- Он автоматически следует перенаправлениям HTTP.
- Это унижает содержимое HTML.
- Он поддерживает заголовки ETag и Last-Modified, поэтому вы можете увидеть, изменился ли канал, просто загрузив HTTP-заголовок, а не весь канал.
- Он поддерживает аутентифицированные фиды.
- Он поддерживает HTTP-прокси.
Как и многие другие, просто попробуйте. Это похоже на 2 строки кода для синтаксического анализа фида. Моя единственная жалоба заключается в том, что она просто использует словари в качестве модели данных, а некоторые атрибуты могут отсутствовать в словаре, если они не были в фиде, поэтому вам нужно проверить это в своем коде. Но в документации очень ясно, какие атрибуты всегда будут в словаре и которые могут отсутствовать.
Наконец, я могу поручиться за это, так как я написал приложение, которое его использует. См. Здесь: http://www.feednotifier.com/
Ответ 2
Feedparser очень мощный, настраиваемый и простой в использовании. Очень дружеская кривая обучения, если вообще.
Пример
Программно определить, сколько ответов на ваш вопрос:
easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'
Ответ 3
Первый удар по G.
Ответ 4
В ответ на ваш запрос. Вы можете использовать BeautifulSoup - но feedparser намного лучше ориентирован на передачу RSS.
Не шуметь - но вы читаете feedparsers документация? Я не знаю, как это было бы проще в использовании.
Ответ 5
Я знаю, что это очень старая тема, но для чего она стоит, я использовал feedparser (Universal feed parser) версии 5.1.3, и недавно я купил speedparser (0.1.8) по соображениям производительности. Он имеет практически те же интерфейсы, но работает быстрее.
Я использую его для любителя Python-for-Android приложение и speedparser работает примерно в 5 раз быстрее в моих каналах.
Ответ 6
Если вам нужна альтернатива, попробуйте xml.dom.minidom. Подобно "Django is Python", "RSS - это XML".
Ответ 7
Я настоятельно рекомендую feedparser.