Różnica między BeautifulSoup a scrappy crawler?

Chcę zrobić stronę internetową, która pokazuje porównanie cen produktów amazon i e-bay. Który z nich będzie działał lepiej i dlaczego? Jestem trochę zaznajomiony z BeautifulSoup ale nie tak bardzo z Scrappy crawler .

Author: kame, 2013-10-30

8 answers

Scrappy jest Web-spider lub web scraper framework , dajesz Scrappy ' emu główny adres URL, aby rozpocząć indeksowanie,a następnie możesz określić ograniczenia dotyczące liczby (liczby) adresów URL, które chcesz indeksować i pobierać, itp. Jest to kompletny framework dla web-scraping lub crawling.

While

BeautifulSoup jest biblioteką parsowania, która również wykonuje całkiem dobrą robotę pobierania treści z adresu URL i pozwala analizować pewne ich części bez żadnych kłopotów. Pobiera tylko zawartość podanego adresu URL, a następnie zatrzymuje się. Nie czołga się, chyba że ręcznie umieścisz go w nieskończonej pętli z pewnymi kryteriami.

W prostych słowach, z piękną zupą można zbudować coś podobnego do Scrappy. Beautiful Soup jest biblioteką , Podczas gdy Scrappy jest kompletnym frameworkiem .

Źródło

 243
Author: Medeiros,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-09 19:18:55

Myślę, że oba są dobre... robię teraz projekt, który używa obu. Najpierw zeskrobuję wszystkie strony za pomocą scrapy i zapisuję je w kolekcji mongodb za pomocą ich potoków, a także pobieram obrazy, które istnieją na stronie. Następnie używam BeautifulSoup4 do przetwarzania pos, w którym muszę zmienić wartości atrybutów i uzyskać specjalne tagi.

Jeśli nie wiesz, które strony produkty chcesz, dobre narzędzie będzie scrapy, ponieważ można użyć ich crawlerów do uruchomienia wszystkich amazon / ebay strona szukająca produktów bez wyraźnej pętli for.

Spójrz na dokumentację Scrappy, jest bardzo prosta w obsłudze.

 19
Author: rdenadai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-11 19:32:41

Scrappy Jest to web scraping framework , który zawiera mnóstwo gadżetów, które ułatwiają skrobanie, dzięki czemu możemy skupić się tylko na indeksowaniu logiki. Niektóre z moich ulubionych rzeczy Scrappy dba o nas są poniżej.

  • Feed exports : zasadniczo pozwala nam zapisywać dane w różnych formatach, takich jak CSV, JSON,jsonlines i XML.
  • asynchronous scraping: Scrappy używa twisted framework, który daje nam możliwość odwiedzania wielu adresów URL naraz, gdzie każde żądanie jest przetwarzane w sposób nieblokujący (zasadniczo nie musimy czekać na zakończenie żądania przed wysłaniem kolejnego żądania).
  • selektory: Tutaj możemy porównać Scrappy z piękną zupą. Selektory są tym, co pozwala nam wybrać konkretne dane ze strony internetowej, takie jak nagłówek, pewien div z nazwą klasy itp.). Scrappy używa lxml do parsowania, który jest niezwykle szybki niż piękna zupa.
  • Ustawianie proxy, user agent, headers itp.: Scrappy pozwala nam na ustaw i obracaj proxy i inne nagłówki dynamicznie.

  • Item Pipelines : Pipelines umożliwiają nam przetwarzanie danych po ekstrakcji. Na przykład możemy skonfigurować pipeline do przesyłania danych do serwera mysql.

  • Pliki cookie: Scrappy automatycznie obsługuje pliki cookie dla nas.

Itd.

TLDR: Scrappy to framework, który zapewnia wszystko, co można trzeba budować pełzanie na dużą skalę. Zapewnia różne funkcje, które Ukryj złożoność pełzania sieci. można po prostu zacząć pisać w sieci gąsienice bez martwienia się o obciążenie konfiguracji.

Piękna zupa Beautiful Soup jest pakietem Pythona do parsowania dokumentów HTML i XML . Dzięki Beautiful soup możesz przeanalizować stronę internetową, która została już pobrana. BS4 jest bardzo popularny i stary. W przeciwieństwie do Scrappy, nie można używać pięknej zupy tylko do robienia crawlerów . Będziesz potrzebował innych bibliotek, takich jak requests, urllib itp. gąsienice z bs4. Ponownie oznacza to, że będziesz musiał zarządzać listą indeksowanych adresów URL,obsługiwać pliki cookie,zarządzać proxy, obsługiwać błędy, tworzyć własne funkcje do przesyłania danych do CSV, JSON,XML itp. Jeśli chcesz przyspieszyć, musisz użyć innych bibliotek, takich jak multiprocessing .

Podsumowując.

  • Scrapy to bogaty framework, którego możesz użyć do pisania crawlerów bez żadnego hassale.

  • Piękna zupa to biblioteka które można wykorzystać do analizy strony internetowej. Informatyka nie może być używany samodzielnie do skrobania sieci.

Zdecydowanie powinieneś użyć Scrappy dla swojej porównywarki cen produktów amazon i e-bay. Możesz zbudować bazę adresów URL i uruchamiać crawler każdego dnia (Zadania cron,selery do indeksowania harmonogramów) i zaktualizować cenę w swojej bazie danych.W ten sposób Twoja strona będzie zawsze pobierać z bazy danych, a robot i baza danych będą działać jako poszczególne komponenty.

 6
Author: Amit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-13 09:35:23

Oba są używane do analizy danych.

Scrappy :

  • Scrapy to szybki, wysokopoziomowy framework do indeksowania i skrobania stron internetowych, służy do indeksowania stron internetowych i wyodrębniania ustrukturyzowanych danych z ich stron.
  • ale ma pewne ograniczenia, gdy dane pochodzą z java script lub wczytywanie dynamiczne, możemy nad przyjść za pomocą pakietów takich jak splash, selen itp.

BeautifulSoup :

  • Beautiful Soup to biblioteka Pythona do pobierania danych z HTML i Pliki XML.

  • Możemy użyć tego pakietu do pobierania danych z java script lub dynamiczne ładowanie stron.

Scrapowanie z BeautifulSoup jest jednym z najlepszych combo, z którym możemy pracować do skrobania statycznych i dynamicznych treści

 4
Author: Arun Augustine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-06 08:54:09

Sposób, w jaki to robię, to używanie API eBay / Amazon zamiast scrapowania, a następnie analizowanie wyników za pomocą BeautifulSoup.

API daje oficjalny sposób na uzyskanie tych samych danych, które otrzymałbyś od scrapy crawler, bez konieczności martwienia się o ukrywanie tożsamości, bałagan z proxy,itp.

 2
Author: baldnbad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-19 17:21:11

BeautifulSoup to biblioteka, która pozwala wyodrębnić informacje ze strony internetowej.

Scrapy z drugiej strony jest frameworkiem, który wykonuje powyższe i wiele innych rzeczy, których prawdopodobnie potrzebujesz w swoim projekcie scrapowania, takich jak potoki do zapisywania danych.

Możesz sprawdzić ten blog, aby rozpocząć Scrappy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/

 1
Author: Jaskaran Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-25 21:01:12

Używając scrapy możesz zapisać mnóstwo kodu i zacząć od programowania strukturalnego, jeśli nie podoba ci się żadna z wcześniej napisanych metod Scrapy ' ego, możesz użyć BeautifulSoup zamiast metody scrapy. Duży projekt ma obie zalety.

 0
Author: ethirajit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-09 08:02:18

Różnic jest wiele, a dobór dowolnego narzędzia / technologii zależy od indywidualnych potrzeb.

Kilka głównych różnic to:

  1. BeautifulSoup jest stosunkowo łatwy do nauczenia sięniż Scrappy.
  2. rozszerzenia, wsparcie, społeczność jest większa dla Scrapy niż dla BeautifulSoup.
  3. Scrappy należy traktować jako Pająk podczas gdy BeautifulSoup jest Parserem .
 0
Author: krish___na,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-23 06:26:31