Recenzie Semalt: Scraping web pentru distracție și profit

Puteți să zgâriați site-ul fără a fi nevoie de o API. În timp ce proprietarii de site-uri sunt agresivi în ceea ce privește oprirea răzuirii, le pasă mai puțin de API-urile și, în schimb, pun mai mult accent pe site-uri web. Faptele că multe site-uri nu protejează în mod adecvat împotriva accesului automat creează o marjă liberă pentru răzuitori. Unele soluții simple vă vor ajuta să recoltați datele de care aveți nevoie.

Noțiuni introductive cu Scraping

Scraping necesită înțelegerea structurii datelor de care aveți nevoie și accesibilitatea acestora. Aceasta începe prin preluarea datelor. Găsiți adresa URL care vă returnează informațiile de care aveți nevoie. Căutați pe site și verificați cum se schimbă adresele URL în timp ce navigați prin diferite secțiuni.

Alternativ, căutați mai mulți termeni pe site și verificați cum se schimbă adresele URL în funcție de termenul dvs. de căutare. Ar trebui să vedeți un parametru GET precum q = care se schimbă ori de câte ori căutați un nou termen. Păstrați parametrii GET necesari pentru încărcarea datelor și ștergeți celelalte.

Cum să faci față paginării

Paginarea te împiedică să accesezi toate datele de care ai nevoie simultan. Când faceți clic pe pagina 2, la adresa URL este adăugat un decalaj = parametru. Acesta este fie numărul de elemente dintr-o pagină, fie numărul paginii. Măriți acest număr pe fiecare pagină a datelor dvs.

Pentru site-urile care folosesc AJAX, trageți fila rețelei în Firebug sau Inspector. Verificați solicitările XHR, identificați-vă și concentrați-vă pe cele care vă atrag datele.

Obțineți date din Marcarea paginii

Acest lucru se realizează cu ajutorul cârligelor CSS. Faceți clic dreapta pe o anumită secțiune a datelor dvs. Trageți pompierul sau inspectorul și faceți un zoom prin arborele DOM pentru a obține <div> cel mai important care înfășoară un singur element. După ce aveți nodul corect din arborele DOM, vizualizați sursa paginii pentru a vă asigura că elementele dvs. sunt accesibile în HTML brut.

Pentru a zgâria site-ul cu succes, aveți nevoie de o bibliotecă de analiză HTML care să citească în HTML și să o transforme într-un obiect pe care îl puteți repeta până când veți obține ceea ce aveți nevoie. Dacă biblioteca dvs. HTTP necesită setarea unor cookie-uri sau anteturi, răsfoiți site-ul pe browserul dvs. web și primiți anteturile trimise de browser. Introduceți-le într-un dicționar și transmiteți-le cu solicitarea dvs.

Când aveți nevoie de o autentificare pentru a răzui

Dacă trebuie să vă creați un cont și să vă autentificați pentru a obține datele dorite, trebuie să aveți o bibliotecă HTTP bună pentru a gestiona conectările. Conectarea Scraper vă expune la site-uri terțe.

Dacă limita de tarif a serviciului dvs. web depinde de adresa IP, setați un cod care accesează serviciul web pe un Javascript din partea clientului. Apoi trimiteți rezultatele înapoi la serverul dvs. de la fiecare client. Rezultatele vor părea că provin din atâtea locuri și niciunul nu le va depăși limita.

Marcaj slab format

Unele marcaje pot fi greu de validat. În astfel de cazuri, săpați în analizorul HTML pentru setări de toleranță la erori. În mod alternativ, tratați întregul document HTML ca un șir lung și efectuați împărțirea șirurilor.

În timp ce site-ul puteți razi tot felul de date pe net, unele site-uri folosesc software pentru a opri răzuirea, iar alte interzic scraping- ul web . Astfel de site-uri vă pot da în judecată și chiar vă pot pune la închisoare pentru recoltarea datelor lor. Așadar, fiți inteligent în toate site-urile dvs. de răzuire și faceți-l în siguranță.