2011-08-10 16 views
6

Jestem nowy w Pythonie, więc przykro mi, jeśli jest to pytanie dla początkujących.Python 3 web scraping options

Próbuję zbudować program obejmujący webscraping i zauważyłem, że Python 3 wydaje się mieć znacznie mniej modułów do przeglądania stron internetowych niż seria Python 2.x.

Piękna zupa, mechanizacja i scrapy - trzy zalecane moduły - wszystkie wydają się być niekompatybilne.

Zastanawiam się, czy ktoś na tym forum ma dobrą opcję dla webscraping przy użyciu Pythona 3.

Wszelkie sugestie będą bardzo mile widziane.

Dzięki, Will

Odpowiedz

3

lxml.html prace nad Python 3 i dostaje html parsowania, przynajmniej.

BeautifulSoup 4, który jest w pracach, powinien obsługiwać Python 3 (wykonałem trochę pracy nad tym).

+0

Parsowanie w formacie XML jest dobre i obsługuje nieprawidłowy HTML prawie tak samo jak BeautifulSoup. Jest także szybszy, ale trudniejszy w instalacji. –

+1

Użytkownicy Ubuntu mogą po prostu zainstalować pakiet 'python3-lxml'. BeautifulSoup 4 użyje lxml (lub innych parserów) i skupi się na metodach uzyskiwania dostępu do DOM. Więc skorzysta z szybkości lxml. –