Skrobanie stron internetowych za pomocą Ruby – samouczek

Opublikowany: 2017-08-24

Znaczący wzrost i wykładniczy wzrost danych internetowych otworzyły nowe możliwości dla różnych sektorów. Od jednostek produkcyjnych po sektory usług, dane są niezbędnym elementem stosowanym przez firmy na całym świecie, aby zachować aktualność w zmieniających się czasach. Dane internetowe są nie tylko kopalnią informacji o konkurencji i rynku, ale także oferują spostrzeżenia, które można wykorzystać do usprawnienia wewnętrznych procesów i operacji.

Web scraping pomaga wyodrębnić ukierunkowane dane online do dalszego wykorzystania przez silnik analityczny lub narzędzie BI. Cel skrobania wstęgi pozostaje zróżnicowany –

  • Ekstrakcja danych to skuteczny sposób na reklamę Twojej firmy i promocję produktów/usług
  • Użytkownicy, konsumenci i odwiedzający internet mogą uzyskać pożądane informacje o usłudze lub produkcie.
  • Firmy mogą uzyskać informacje o konkurencji na temat strategii i planów w celu zwiększenia swojego udziału w rynku.
  • Marki mogą poznać ogólne postrzeganie swojej marki poprzez interakcje między ludźmi w mediach społecznościowych. Pomaga to zespołom marketingowym w opracowywaniu i wdrażaniu odpowiednich komunikatów marketingowych przeznaczonych specjalnie dla osobowości tej grupy odbiorców, zwiększając w ten sposób prawdopodobieństwo konwersji.
  • Firmy mogą uzyskać większą jasność w zakresie potrzeb, problemów i preferencji docelowych odbiorców. Dzięki tej cennej inteligencji mogą następnie kierować rozwojem produktu we właściwym kierunku.

Wyobraź sobie korzyści, gdybyśmy mogli uporządkować dane internetowe, pozbyć się szumu i wyeksportować je do formatów do odczytu maszynowego. Zobaczmy, jak można to zrobić za pomocą Rubiego.

Wybór skryptu kodującego

Wydobywanie danych i faktyczne wdrażanie praktyk web scrapingu nie jest łatwą sprawą. Podstawowa znajomość CSS, HTML i odpowiedniego skryptu kodującego sprawi, że Twoja podróż będzie płynna. Twój wybór skryptu kodującego będzie odgrywał kluczową rolę w tym kontekście. Dowiedzmy się, dlaczego Ruby tworzy szum na rynku.

Jeśli planujesz uruchomić swój pierwszy program do obsługi web scrapingu, Ruby może odegrać rolę niezawodnego języka skryptowego. Wiele powodów odpowiada za niezrównaną popularność tego języka, a poniższe powody pomogą Ci zrozumieć, dlaczego jest tak skuteczny!

  • Potężny skrypt : Ruby-On-Rails to bardzo potężny i skuteczny skrypt do skrobania stron internetowych. Udowodniono, że ten konkretny język jest silnym zasobem dla początkujących i początkujących.
  • Niezawodna społeczność : Ruby towarzyszy silnemu zespołowi programistów, którzy tworzą niezawodną i wysoce niezawodną społeczność. Dzięki milionom dokumentacji żaden problem nie będzie dla Ciebie ogromny!
  • Łatwa instalacja : Procedura instalacji jest dobrze udokumentowana i dość łatwa do naśladowania.

Oto niektóre z czynników, które sprawiają, że Ruby jest niezastąpioną opcją do skrobania sieci. Konfiguracja i instalacja powinny być wykonane optymalnie, ponieważ procesy te mają kluczowe znaczenie dla realizacji procesów ekstrakcji danych. Oto obszerny samouczek, który pomoże Ci przejść przez ten proces.

Przewodnik krok po kroku

Zanim zaczniemy, wyjaśnijmy pewne punkty. Ten samouczek jest skierowany do użytkowników komputerów Mac. Jeśli używasz innego komputera, początkowy proces konfiguracji może się nieco różnić. Po drugie, program wykorzystuje Nokogiri, który może zamieniać strony internetowe w „obiekty Ruby”, upraszczając w ten sposób proces scrapingu. Mając na uwadze te dwa czynniki, możesz rozpocząć swoje projekty.

W tym przewodniku będziemy skrobać nagłówki pierwszych 100 aukcji używanych samochodów olx.

Proces instalacji

Oto podstawowe wymagania do opracowania kompletnej konfiguracji do ekstrakcji sieci Web za pomocą Rubiego.

  • Twój komputer, niezależnie od tego, czy jest to komputer stacjonarny, czy laptop, powinien mieć zainstalowany Ruby. Jeśli jesteś lojalistą komputerów Mac, połowa pracy jest wykonana.
  • Będziesz potrzebował edytora tekstu. Jest to niezbędne do zapisywania poleceń programu. Jeśli Twój komputer nie ma wbudowanej opcji, spróbuj pobrać Sublime Text. Dzięki ekscytującym funkcjom i fajnym kontrolkom ten edytor tekstu sprawi, że kodowanie będzie ekscytujące i interesujące.
  • Kolejnym wymaganiem jest dogłębna znajomość korzystania z HTML i CSS. Jeśli planujesz opanować sztukę web scrapingu, znajomość CSS i HTML będzie kluczowa.
  • Zdobądź wiedzę na temat Rubiego. Trochę informacji jest w tym kontekście niezbędne. Możesz sprawdzić niektóre kursy online i poszerzyć swoją bazę wiedzy. Po wdrożeniu tych procesów i czynników nadejdzie czas, aby rozpocząć kluczowe kroki.

Krok 1: Instalowanie zależności

Podczas procesu instalacji upewnij się, że zdobędziesz pełne informacje na temat trzech przydatnych Rubinowych Klejnotów. Te trzy opcje obejmują:

  • NokoGiri
  • HTTParty
  • Wtrącać się

Ponieważ wyjaśniliśmy już trochę o Nokogiri, omówmy HTTParty i Pry. HTTParty to klejnot, którego nasz web scraper użyje do wysyłania żądań HTTP do stron, które zbieramy. Będziemy używać HTTParty do wysyłania żądań GET, które zwrócą całą zawartość HTML strony jako ciąg. Do debugowania używamy Pry, który jest klejnotem rubinowym. Pomoże nam przeanalizować kod strony internetowej i jest niezbędnym elementem tej konfiguracji.

Postępuj zgodnie z poniższymi poleceniami i uruchom je na swoim komputerze, aby zainstalować te klejnoty na swoim komputerze.

klejnot zainstalować nokogiri

Impreza instalacyjna klejnotów

klejnot zainstalować pry

Krok 2: Tworzenie plików skrobaków

Będziesz musiał utworzyć folder o nazwie nokogiri_tutorial w dowolnej preferowanej lokalizacji na twoim komputerze. Pulpit jest do tego idealnym miejscem. Następnym krokiem jest pobranie edytora tekstu, takiego jak „Sublime Text” lub innej wybranej opcji i zapisanie pliku w tym folderze o nazwie „web_scraper.RB”. Po wykonaniu tych kroków możesz pracować nad zależnościami.

Krok 3: Wysyłanie żądań HTTP do strony

Zacznij od utworzenia operacji na zmiennej o nazwie „page” i upewnij się, że jest ona równa żądaniu HTTParty GET strony, którą zbieramy.

W takim przypadku: https://www.olx.in/all-results/q-cars/

Następnie możesz wpisać „Pry. początek (wiązanie).” Przejdź i znajdź folder oznaczony jako plik web_scraping.Rb. Zapisz go od razu na pulpicie i otwórz terminal, wprowadzając to polecenie.

cd desktop/nokogiri_tutorial

Twój program do zgarniania stron internetowych jest gotowy do wdrożenia. Możesz uruchomić to polecenie i uruchomić je:

Ruby web_scraper.RB

Terminal powinien zostać przekształcony w Pry i konieczne jest sprawdzenie układu przed przystąpieniem do dalszych procesów. Możesz przejść do następnego kroku. Ale zanim to zrobisz, upewnij się, że wpisałeś „exit” w wybranym terminalu, opuść Pry, a następnie wróć do oryginalnej lokalizacji folderu programu.

Krok 4: Przejście do NokoGiri

Celem jest najpierw przekonwertowanie i zmiana tych aukcji samochodów na obiekty NokoGiri, ponieważ ma to kluczowe znaczenie dla parsowania. Tworzenie zmiennych jest ważne i będziesz musiał opracować nową o nazwie „parse_page”. Nokogiri ma charakterystyczny sposób konwertowania ciągów HTML na obiekty Nokogiri. Możesz zostawić Pry na dole kodu.

Następnym krokiem będzie zapisanie pliku zawierającego polecenie Ruby. Pry otworzy się automatycznie i należy wprowadzić nową zmienną „parse_page”. To zwróci stronę Olx jako obiekt Nokogiri.

Śmiało i utwórz plik HTML w tym samym folderze o nazwie „cars.html” i skopiuj i wklej wyniki polecenia parse_page do tego pliku. Te sformatowane dane HTML przydadzą się później.

Przed przejściem do następnego kroku wyjdź z Pry w swoim terminalu.

Krok 5: Analiza danych

Parsowanie danych wymaga podstawowej wiedzy z zakresu programowania i kodowania. Ponieważ chcesz wyodrębnić teksty nagłówków wszystkich aukcji samochodów, plik cars.html przyda się podczas sprawdzania krzyżowego. Zlokalizuj kluczowe elementy w folderze i przeprowadź inspekcje za pomocą „narzędzia do sprawdzania elementów” lub możesz również wyświetlić „kod źródłowy strony”.

Ponieważ stwierdziliśmy, że wykazy znajdują się w div z nazwą klasy „content”, oto następujące polecenia :

parse_page.css('.treść')

parse_page.css('.content').css('.row').css('.hdrlnk')

cars_array

Sprawdź układy i tablice kodowania przy każdym uruchomieniu polecenia. Po zakończeniu parsowania będziesz musiał wyeksportować zestawy danych do plików CSV.

Krok 6: Eksportowanie plików danych do CSV

Kiedy dojdziesz do kroku 6, powinieneś pomyślnie zakończyć proces skrobania, a nieustrukturyzowane dane zostały zmienione w ustrukturyzowane zestawy danych. Wróćmy teraz do terminalu. Wyjdź z Pry, jeśli nadal w nim jesteś, aby terminal znajdował się w folderze nokogiri_tutorial, który zawiera program do scrapingu i plik cars.html. Teraz wpisz następujące polecenie:

dotknij samochody.csv

Teraz pozostanie pusty plik CSV, w którym możesz zapisać dane z cars_array. Możesz teraz napisać prosty skrypt, który zapisze te dane w naszym nowym pliku CSV, a Twoje uporządkowane dane aukcji samochodów zostaną zapisane w pliku CSV. Ułatwi to przetwarzanie i manipulowanie w dowolnym momencie.

Pożegnalne myśli

Miejmy nadzieję, że powinno to dać ci przybliżony obraz tego, jak możesz przejść do skrobania witryny za pomocą Rubiego. Nadszedł czas, aby odkrywać i przeszukiwać bardziej złożone i wymagające witryny, korzystając z tej nowo opanowanej umiejętności.