Szukam dobrej biblioteki w Pythonie, która pomoże mi parsować kanały RSS. Czy ktoś użył urządzenia do żywienia? Jakakolwiek informacja zwrotna?Biblioteka analizatorów kanałów RSS w Pythonie
Odpowiedz
Korzystanie feedparser jest o wiele lepszym rozwiązaniem niż toczenia własne z minidom lub BeautifulSoup.
- Normalizuje różnice między wszystkimi wersjami RSS i Atom, dzięki czemu nie trzeba mieć innego kodu dla każdego typu.
- Dobrze wykrywa różne formaty dat i inne odmiany w kanałach.
- Automatycznie śledzi przekierowania HTTP.
- Umożliwia sanityzację treści HTML.
- Obsługuje nagłówki ETag i Last-Modified, dzięki czemu można sprawdzić, czy kanał zmienił się po prostu pobierając nagłówek HTTP, a nie cały kanał.
- Posiada obsługę uwierzytelnionych kanałów.
- Posiada obsługę proxy HTTP.
Jak wspomnieli inni, po prostu spróbuj. To jest jak 2 linie kodu do analizowania kanału. Moją jedyną skargą jest to, że po prostu używa słowników jako swojego modelu danych i niektóre atrybuty mogą nie być dostępne w słowniku, jeśli nie były w kanale, więc musisz sprawdzić to w swoim kodzie. Jednak w dokumentacji jest bardzo jasne, które atrybuty będą zawsze w słowniku, a które mogą nie być dostępne.
Wreszcie, mogę ręczyć za to, ponieważ napisałem aplikację, która go używa. Zobacz tutaj: http://www.feednotifier.com/
Dzięki za odpowiedź! .. Tak, to jest tak fajna i dobrze zdefiniowana dokumentacja! .. łatwy w użyciu. !! Twój informator jest również interesujący! –
Czy znasz bibliotekę, która pobiera dane wyjściowe do modułu filtrującego i może zamienić je w kanał? –
Obecnie pojawia się problem, który mnie nurtuje: wydaje się, że feedparser kończy się niepowodzeniem na elementach "media:" w kanałach Flickr. To jest naprawdę denerwujące. Właśnie zgłosiłem problem, miejmy nadzieję, że wkrótce otrzymam obejście problemu. – dguaraglia
pierwsze trafienie na G.
Cóż, wspomniał o tym w pytaniu ... –
W każdym razie, czy macie jakiś pomysł na temat innego niż feedpurser, który jest łatwy w użyciu? –
@ rahman.bd nie, urządzenie do żywienia jest zbyt dobre, nikt nie przejmuje się alternatywą. –
W odpowiedzi na swojej obserwacji. Możesz użyć BeautifulSoup - ale feedparser jest znacznie lepiej przygotowany do przekazywania RSS.
Nie snark - ale czy czytałeś feedparsers documentation? Nie wiem, jak to może być prostsze w użyciu.
Dla dobra innych: Feedparser.org został zdjęty przez Marka Pilgrima. Będę go udostępniał jako część następnej wersji. –
Jeśli chcesz alternatywy, wypróbuj xml.dom.minidom. Podobnie jak "Django to Python", "RSS to XML".
Nie ma powodu, aby przyjmować takie podejście, gdy istnieje generator kanałów. Musiałbyś poradzić sobie z różnicami między RSS i Atom, źle sformułowanymi kanałami, różnymi formatami datownika/znacznika czasowego itp. – FogleBird
Feedparser jest bardzo wydajny, konfigurowalny i prosty w obsłudze. Bardzo przyjazna krzywa uczenia się, jeśli w ogóle.
Przykład
Programowo określić, ile ma odpowiedzi na Twoje pytanie:
easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'
Możesz użyć .entries zamiast ["entries"], ponieważ feedparser używa dostosowanego słownika, który umożliwia dostęp do atrybutów. Łatwiej pisać i czytać. – FogleBird
Dzięki za przykład. @ FogleBird Dzięki za wyjaśnienie. –
I Gorąco polecam parownik.
Wiem, że to bardzo stary temat, ale za to, co jest warte, korzystałem z programu feedparser (Universal Parser) wersji 5.1.3 i ostatnio zamieniłem na speedparser (0.1.8) ze względu na wydajność. Ma prawie te same interfejsy, ale działa szybciej.
Używam go dla amatorskiej aplikacji Python-for-Android i speedparser działa około 5 razy szybciej na moich kanałach.
- 1. Biblioteka analizatorów kanałów RSS w języku Java
- 2. Testowanie kanałów RSS
- 3. Co to są dobre biblioteki scala do generowania kanałów RSS?
- 4. Parsowanie RSS z Elementtree w Pythonie
- 5. Haskell RSS, mail i biblioteka XML wyborów
- 6. Django RSS Feed Authentication
- 7. Parser RSS Python 3.1?
- 8. Zabezpieczanie kanałów informacyjnych Elmah na stronie ASP.NET
- 9. Jaki jest najlepszy sposób na uzyskanie kanałów RSS w bazie danych MySQL
- 10. Wiele kanałów w jednym kanale RSS xml - czy jest to zawsze właściwe?
- 11. Biblioteka Objective-C do parsowania źródła danych RSS?
- 12. Web hooks w Pythonie: Dowolna konkretna biblioteka?
- 13. jak usunąć/usunąć adresy URL kanałów wordpress w nagłówku?
- 14. DateTime.Parse dla pubDate w kanałach RSS
- 15. RSS-Feed zwraca pusty ciąg
- 16. Python: Jak sprawdzić aktualizacje RSS za pomocą analizatora kanałów i etykiet
- 17. Wiele analizatorów na 1 polu
- 18. Specyfikacja RSS Kod HTML wewnątrz kanału RSS
- 19. parser rss w .net
- 20. Android-Development: API, aby znaleźć Rss-Feeds
- 21. Jakiego parsera RSS powinienem używać w PHP?
- 22. Jak zapobiec formatowaniu kanałów w przeglądarce Firefox/IE?
- 23. Biblioteka posprzątać Pythonie przy użyciu konwencji pep8
- 24. Powiadomienia o zmianach w systemie Mac OS X/RSS
- 25. Socket.IO subskrybować wiele kanałów
- 26. CURL lub file_get_contents, aby zaktualizować listę kanałów?
- 27. Jak scalać, tworzyć znaczniki i umieszczać w kolejności rosnącej kanały z większą liczbą kanałów RSS, takich jak Yahoo Pipes?
- 28. Wyodrębnianie nowych pozycji z kanału RSS
- 29. Deserializowanie kanału RSS w .NET
- 30. Jak wyświetlić obraz w RSS?
Pobieranie i wypróbowywanie podajnika potrwa 5 minut. –
Pobieranie i wypróbowywanie programu Feedparser może zająć tylko 5 minut, ale jego użycie zajmie dużo więcej czasu, aby uzyskać opinię użyteczną i wiarygodną, tak jak inne osoby na SO. 5 minut użytkowania udowodniłoby tylko, że można go zainstalować i obsługiwać główny przypadek użycia. – Trindaz