Подтвердить что ты не робот

Библиотека парсеров RSS-ленты в Python

Я ищу хорошую библиотеку в python, которая поможет мне разобрать RSS-каналы. Кто-нибудь использовал feedparser? Любая обратная связь?

4b9b3361

Ответ 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"])'

Ответ 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.