Używam skrobania, aby skrobać recenzje o książkachz witryny. Do tej pory zrobiłem przeszukiwacz i zeskrobałem komentarze do jednej książki, podając jej adres URL jako początkowy adres URL, a nawet musiałem podać tagi komentarzy na temat tej książki po znalezieniu jej z kodu źródłowego strony. Problem polega na tym, że do tej pory praca była wykonywana ręcznie, chcę, aby była wykonywana automatycznie. tzn. chcę, żeby robot mógł znaleźć stronę książki na stronie i zeskrobać jej komentarze. Wydobywam komentarze z goodreads i nie zapewnia jednolitej metody dla adresów URL, a nawet tagi są różne dla różne książki. Dodatkowo nie chcę używać interfejsu API. Chcę wykonać całą pracę sam. Każda pomoc będzie mile widziana.
Odpowiedzi:
0 dla odpowiedzi № 1Wygląda na to że CrawlSpider pasuje do twoich potrzeb. Możesz zacząć w następujący sposób:
- Podaj listę początkowych adresów URL przeszukiwacza
start_urls = ["https://www.goodreads.com"]
. Aby identyfikować adresy URL z książkami, możesz utworzyć następujące elementy
Rule
:rules = ( Rule(SgmlLinkExtractor(allow=(r"book/show/.+", )), callback="parse_comments"), )
0 dla odpowiedzi nr 2
HtmlAgilityPack pomógł mi w parsowaniu i czytaniu Xpath dla recenzji. Zadziałało :)