Web Scraping folosind Ruby – Tutorial

Publicat: 2017-08-24

Creșterea notabilă și creșterea exponențială a datelor web au deblocat noi căi pentru diferite sectoare. De la unitățile de producție până la sectoarele de servicii, datele sunt o componentă esențială adoptată de companiile din întreaga lume pentru a rămâne relevante pentru vremurile în evoluție. Datele web nu numai că dețin o mină de aur de informații despre concurență și piață, dar oferă și perspective care pot fi folosite pentru a îmbunătăți procesele și operațiunile interne.

Web scraping ajută la extragerea datelor online vizate pentru utilizare ulterioară de către motorul de analiză sau instrumentul BI. Obiectivul web scraping rămâne variat –

  • Extragerea datelor este o modalitate eficientă de a vă face publicitate afacerii și de a promova produse/servicii
  • Utilizatorii, consumatorii și vizitatorii web pot obține informațiile dorite despre un serviciu sau produs.
  • Companiile pot obține informații competitive despre strategiile și planurile puse în aplicare pentru a-și crește cota de piață.
  • Brandurile pot cunoaște percepția generală în jurul mărcii lor prin interacțiunile de socializare între oameni. Acest lucru ajută echipele de marketing să conceapă și să implementeze mesaje de marketing relevante destinate în mod special pentru persoana acestui public, sporind astfel probabilitatea de conversie.
  • Companiile pot obține mai multă claritate cu privire la nevoile, punctele dureroase și preferințele publicului țintă. Ei pot conduce apoi dezvoltarea produselor în direcția corectă cu această inteligență valoroasă.

Imaginați-vă beneficiile dacă am putea structura datele web, să scăpăm de zgomot și să le exportăm în formate care pot fi citite de mașină. Să vedem cum se poate face acest lucru folosind Ruby.

Alegerea scriptului de codare

Extragerea datelor și implementarea efectivă a practicilor de web scraping nu este o chestiune ușoară. Cunoștințele elementare despre CSS, HTML și scriptul de codare potrivit vă vor face călătoria ușoară. Alegerea ta a scriptului de codare va juca un rol crucial în acest context. Să aflăm de ce Ruby creează un interes pe piață.

Dacă intenționați să lansați primul program de web scraping, Ruby poate juca rolul unui limbaj de scripting de încredere. Destul de multe motive sunt responsabile pentru popularitatea de neegalat a acestei limbi, iar următoarele motive vă vor ajuta să înțelegeți de ce este atât de eficient!

  • Un script puternic : Ruby-On-Rails este un script foarte puternic și eficient pentru web scraping. Pentru începători și începători, acest limbaj special s-a dovedit a fi o resursă puternică.
  • Comunitate de încredere : Ruby vine împreună cu o echipă puternică de dezvoltatori care formează o comunitate de încredere și foarte de încredere. Cu milioane de documentații, nicio problemă nu va fi mare pentru tine!
  • Instalare ușoară : Procedura de instalare este bine documentată și destul de ușor de urmat.

Aceștia sunt câțiva dintre factorii care fac din Ruby o opțiune indispensabilă pentru web scraping. Configurarea și instalarea ar trebui să se facă în mod optim, deoarece aceste procese sunt esențiale pentru execuția proceselor de extragere a datelor. Iată un tutorial cuprinzător pentru a vă ajuta pe parcursul procesului.

Ghidul pas cu pas

Înainte de a începe, să fim clari cu privire la anumite puncte. Acest tutorial se adresează utilizatorilor de Mac, dacă utilizați o altă mașină, procesul de configurare inițială ar putea fi ușor diferit. În al doilea rând, programul folosește Nokogiri, care poate schimba paginile web în „obiecte Ruby”, simplificând astfel procesul de scraping web. Având în vedere acești doi factori, vă puteți angaja în proiectele dvs.

În acest ghid, vom răzui titlurile primelor 100 de listări pe olx pentru mașini uzate.

Procesul de configurare

Iată cerințele de bază pentru a dezvolta o configurație completă pentru extragerea web folosind Ruby.

  • Computerul dvs., fie că este un desktop sau laptop, ar trebui să aibă Ruby pe el. Dacă sunteți un fidel Mac, atunci jumătate din treabă este gata.
  • Veți avea nevoie de un editor de text. Acest lucru este necesar pentru a scrie comenzile programului. Dacă computerul dvs. nu are o opțiune încorporată, încercați să descărcați Sublime Text. Cu funcții interesante și controale interesante, acest editor de text va face codarea interesantă și interesantă.
  • O altă cerință este cunoașterea aprofundată a utilizării HTML și CSS. Dacă intenționați să stăpâniți arta web scraping, cunoașterea CSS și HTML va fi crucială.
  • Obțineți cunoștințe despre Ruby. Câteva informații sunt esențiale în acest context. Puteți consulta unele dintre cursurile online și vă puteți îmbunătăți baza de cunoștințe. Cu aceste procese și factori în vigoare, va fi timpul să începem pașii cruciali.

Pasul 1: Instalarea dependențelor

În timpul procesului de instalare, asigurați-vă că obțineți informații complete despre cele trei pietre Ruby utile. Aceste trei opțiuni includ:

  • NokoGiri
  • HTTParty
  • Desface

Deoarece am explicat deja puțin despre Nokogiri, să discutăm despre HTTParty și Pry. HTTParty este o bijuterie pe care web scraper-ul nostru o va folosi pentru a trimite solicitări HTTP către paginile pe care le răzuim. Vom folosi HTTParty pentru a trimite cereri GET, care vor returna tot conținutul HTML al paginii ca șir. Pentru depanare, folosim Pry, care este o bijuterie de rubin. Ne va ajuta să analizăm codul paginii web și este o componentă esențială în această configurare.

Urmați comenzile de mai jos și rulați-le pe computer pentru a instala aceste pietre prețioase pe computer.

gem install nokogiri

petrecere de instalare a gemei

gem instalare pry

Pasul 2: Crearea fișierelor scraper

Va trebui să creați un folder numit nokogiri_tutorial în oricare dintre locațiile preferate de pe computer. Desktop-ul este locul perfect pentru a face acest lucru. Următorul pas este să descărcați un editor de text precum „Sublime Text” sau orice altă opțiune la alegere și să salvați fișierul în acest folder numit „web_scraper.RB”. Odată ce ați finalizat acești pași, sunteți bine să lucrați la dependențe.

Pasul 3: Trimiterea solicitărilor HTTP către pagină

Începeți prin a crea o operațiune variabilă numită „pagină” și asigurați-vă că este egală cu solicitarea HTTParty GET a paginii pe care o răzuim.

În acest caz: https://www.olx.in/all-results/q-cars/

După aceasta, puteți introduce „Pry. începe (obligatoriu).” Navigați și găsiți folderul marcat ca fișier web_scraping.Rb. Salvați-l imediat pe desktop și deschideți terminalul introducând această comandă.

cd desktop/nokogiri_tutorial

Programul dvs. de web scraping este gata pentru a fi implementat. Puteți rula această comandă și o puteți rula:

Ruby web_scraper.RB

Terminalul ar trebui să fie transformat în Pry și este esențial să verificați aspectul înainte de a lucra la procese ulterioare. Puteți trece la pasul următor. Dar, înainte de a face asta, asigurați-vă că introduceți „exit” în terminalul ales, părăsiți Pry și apoi reveniți la locația inițială a folderului programului.

Pasul 4: Treceți la NokoGiri

Obiectivul aici este să convertiți și să schimbați mai întâi aceste liste de mașini în obiecte NokoGiri, deoarece acest lucru este crucial pentru analiza. Crearea variabilelor este importantă și va trebui să dezvoltați una nouă cu numele „parse_page”. Nokogiri are un mod distinctiv de a converti șirurile HTML în obiecte Nokogiri. Puteți lăsa Pry în partea de jos a codului.

Următorul pas va fi salvarea fișierului care conține comanda Ruby. Pry va fi deschis automat și ar trebui introdusă o nouă variabilă „parse_page”. Aceasta va returna pagina Olx ca obiect Nokogiri.

Continuați și creați un fișier HTML în același folder cu numele „mașini.html” și copiați și lipiți rezultatele comenzii parse_page în acest fișier. Aceste date HTML formatate vor fi utile pentru referință mai târziu.

Înainte de a începe cu următorul pas, ieșiți din Pry în terminalul dvs.

Pasul 5: Analiza datelor

Analiza datelor necesită cunoștințe elementare de programare, precum și de codare. Deoarece căutați să extrageți textele titlurilor tuturor înregistrărilor de mașini, fișierul cars.html vă va fi util în verificarea încrucișată. Localizați elementele esențiale din dosar și efectuați inspecții folosind „instrumentul de inspectare a elementelor” sau puteți vizualiza și „codul sursă a paginii”.

Deoarece am descoperit că listările sunt într-un div cu numele clasei „conținut”, acestea sunt comenzile care urmează :

parse_page.css('.content')

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

cars_array

Verificați configurațiile și matricele de codare de fiecare dată când executați comanda. Odată ce analiza este completă, va trebui să exportați seturi de date în fișiere CSV.

Pasul 6: Exportați fișierele de date în CSV

Când ajungeți la pasul 6, ar fi trebuit să finalizați cu succes procesul de scraping, iar datele nestructurate să fie schimbate în seturi de date structurate. Să ne întoarcem acum la terminal. Ieșiți din Pry dacă sunteți încă în el, astfel încât terminalul dvs. să fie în folderul nokogiri_tutorial care conține programul de scraping și fișierul cars.html. Acum tastați următoarea comandă:

atingeți mașini.csv

Acum veți rămâne cu un fișier CSV gol în care puteți salva datele din cars_array. Acum puteți scrie un script simplu pentru a scrie aceste date în noul nostru fișier CSV și aveți datele structurate ale listelor de mașini într-un fișier CSV. Acest lucru va face mai ușor de procesat și manipulat atunci când doriți să faceți acest lucru.

Gânduri de despărțire

Sperăm că acest lucru ar fi trebuit să vă ofere o imagine aproximativă a modului în care puteți proceda la răzuirea unui site web folosind Ruby. Este timpul să explorați și să accesați cu crawlere site-uri mai complexe și mai provocatoare folosind această abilitate nou stăpânită.