2009-10-06 19 views
8

Ktoś wie o dobrym parserze kanałów dla Pythona 3.1? Używałem feedparsera dla wersji 2.5, ale nie wydaje się, aby było ono przeniesione do wersji 3.1, i jest to najwyraźniej bardziej skomplikowane niż uruchamianie 2to3.py na tym. Każda pomoc?Parser RSS Python 3.1?

Odpowiedz

4

Możesz rzucić okiem na blogu Atom Models autorstwa Iana Bickinga. Proponuje, aby nie używać żadnej specjalnej biblioteki "analizowania pliku danych", ponieważ Atom i RSS to tylko tylko XML, więc Twój model jest w rzeczywistości drzewem XML, a nie klasą. Możesz spróbować his code w Pythonie 3.

+3

te dni, w każdej chwili ktoś mówi „tylko XML”, zwykle podejrzewają oni żartował. Takie podejście będzie działało dobrze, jeśli pobierzesz dane z jednego kanału w bardzo spójny sposób. Ale jeśli w ogóle istnieje jakiś element ludzki, to nie zadziała. Kanały są notorycznie złe, jeśli chodzi o nieprzestrzeganie standardów, a nawet o to, że są poprawnym XML-em. Czasami ktoś podaje ci identyfikator URI strony HTML zamiast pliku danych. Poradzenie sobie z tym wszystkim bzdurami jest czymś, za czym chcesz dbać biblioteka "feedparser". –

+0

Tak, jestem świadomy funkcji 'feedparser'. To była tylko inna opinia na ten temat. –

+0

Dam ci szansę, dzięki! – matthew

0

Rozpocznij przenoszenie feedparser do Python 3.1.

+0

hehe, próbowałem. Nie udało się. Jestem raczej pytonem "hack" niż programistą. – matthew

1

Pracowałem nad portowaniem źródła danych do Pythona 3, a na stronie GitHub opublikowałem a feedparser/Python 3 development branch z wynikami tej pracy.

Istnieje również otwarty raport o błędzie na temat portowania programu Feedparser do Pythona 3, ale ponieważ jestem nowym użytkownikiem w StackOverflow, jestem obecnie ograniczony do jednego linku. Link do raportu o błędzie znajdziesz u góry strony GitHub (prowadzi do strony code.google.com).