
Harry James
0
4237
442
Web strugači automatski prikupljaju informacije i podatke koji su obično dostupni samo posjetom web mjestu u pregledniku. Čineći ovo samostalno, skripte za struganje putem weba otvaraju svijet mogućnosti u oblasti vađenja podataka, analize podataka, statističke analize i mnogo više.
Zašto je web struganje korisno
Živimo u danu i starosti u kojem su informacije lako dostupne nego bilo koje drugo vrijeme. Infrastruktura koja se koristi za unošenje ovih riječi koje čitate vodi je ka više znanja, mišljenja i vijesti nego što je ikada bila dostupna ljudima u povijesti ljudi..
Toliko da, mozak najpametnije osobe, pojačan do 100% efikasnosti (netko bi trebao snimiti film o tome), još uvijek ne bi mogao držati 1/1000 podataka pohranjenih na internetu samo u Sjedinjenim Državama.
Cisco je procijenio 2016. da je promet na Internetu premašio jedan zettabajt, što je 1.000.000.000.000.000.000 bajtova, ili jedan sekstilski bajt (idite naprijed, kličite na sextillion). Jedan zettabajt je oko četiri tisuće godina koji struji Netflix. To bi bilo ekvivalentno ako biste, neustrašivi čitatelju, Ured usmjerili od početka do kraja bez zaustavljanja 500.000 puta.
Kreditna slika: Cisco / Zore Zettabytea
Svi ti podaci i informacije su vrlo zastrašujući. Nije sve u redu. Nije puno toga relevantno za svakodnevni život, ali sve više i više uređaja ove podatke isporučuje sa servera širom svijeta upravo u naše oči i u naš mozak.
Kako naše oči i mozak zaista ne mogu podnijeti sve ove informacije, mrežno struganje pojavilo se kao korisna metoda za programsko prikupljanje podataka s interneta. Web scraping je apstraktni pojam za definiranje čina vađenja podataka s web mjesta kako bi se lokalno spremili.
Razmislite o vrsti podataka i vjerojatno ih možete prikupiti struganjem po webu. Popisi nekretnina, sportski podaci, adrese e-pošte tvrtki na vašem području, pa čak i tekstovi omiljenog izvođača mogu se potražiti i spremiti pisanjem malog scenarija.
Kako preglednik dobiva web podatke?
Da bismo razumjeli mrežne strugalice, morat ćemo razumjeti kako web prvo funkcionira. Da biste došli do ove web stranice, ili ste upisali “makeuseof.com” u vaš web preglednik ili ste kliknuli vezu s druge web stranice (recite nam gdje, ozbiljno želimo znati). Bilo kako bilo, sljedećih nekoliko koraka su isti.
Prvo, vaš preglednik preuzet će URL koji ste unijeli ili kliknuli (Pro-savjet: zadržite pokazivač miša iznad veze da biste vidjeli URL na dnu preglednika prije nego što ga kliknete kako ne biste dobili punk'd) i oblikovat će obrazac “zahtjev” poslati na poslužitelj. Poslužitelj će zatim obraditi zahtjev i poslati odgovor natrag.
Odgovor poslužitelja sadrži HTML, JavaScript, CSS, JSON i ostale podatke potrebne da bi vaš web preglednik mogao formirati web stranicu za zadovoljstvo gledanja.
Uvid u web elemente
Suvremeni preglednici omogućuju nam neke detalje vezane uz ovaj postupak. U pregledniku Google Chrome na sustavu Windows možete pritisnuti Ctrl + Shift + I ili desnim klikom i odaberite Pregledati. Prozor će tada prikazati zaslon koji izgleda ovako.
Lista opcija na karticama nalazi se na vrhu prozora. Zanimljivo je upravo to Mreža kartica. Tako ćete dobiti detalje o HTTP prometu kao što je prikazano u nastavku.
U donjem desnom kutu vidimo podatke o HTTP zahtjevu. URL je ono što očekujemo i “način” je HTTP “DOBITI” zahtjev. Kôd statusa iz odgovora naveden je kao 200, što znači da je poslužitelj vidio zahtjev kao valjan.
Ispod statusnog koda nalazi se udaljena adresa, koja je javna IP adresa poslužitelja makeuseof.com. Klijent dobiva ovu adresu putem DNS protokola Zašto mijenjanje postavki DNS-a povećava vašu brzinu interneta Zašto promjena DNS postavki povećava vašu brzinu interneta Promjena postavki DNS-a jedan je od manjih podešavanja koji mogu donijeti velik povrat dnevnih brzina interneta.. .
Sljedeći odjeljak navodi detalje o odgovoru. Zaglavlje odgovora ne sadrži samo statusni kôd, već i vrstu podataka ili sadržaj koji odgovor sadrži. U ovom slučaju gledamo “text / html” sa standardnim kodiranjem. To nam govori da je odgovor doslovno HTML kôd za prikaz web stranice.
Druge vrste odgovora
Uz to, poslužitelji mogu vratiti objekte podataka kao odgovor na GET zahtjev, umjesto samo HTML-a za prikazivanje web stranice. Sučelje za programiranje web-mjesta (ili API) Što su API-i i kako otvoreni API-i mijenjaju Internet Što su API-i i kako otvoreni API-i mijenjaju Internet. Jeste li se ikad zapitali kako programi na vašem računalu i web stranice koje posjetite "razgovaraju" jedno drugom? obično koristi ovu vrstu razmjene.
Kroz karticu Mreža kao što je prikazano gore, možete vidjeti postoji li takva vrsta razmjene. Kada se ispituje CrossFit Open Leaderboard, prikazuje se zahtjev za popunjavanje tablice podacima.
Klikom na odgovor prikazuju se JSON podaci umjesto HTML koda za prikazivanje web stranice. Podaci u JSON-u su niz oznaka i vrijednosti na slojevitom, obrisanom popisu.
Ručno raščlanjivanje HTML koda ili prolazak kroz tisuće parova ključeva / vrijednosti JSON-a mnogo je poput čitanja Matrice. Na prvi pogled to izgleda kao kreten. Možda je previše podataka za ručno dešifriranje.
Web strugači u spas!
Prije nego što odete tražiti plavu tabletu da se odavde makne, trebali biste znati da ne moramo ručno dekodirati HTML kôd! Neznanje nije blaženstvo, a ovaj biftek je ukusno.
Web strugač može izvesti te teške zadatke za vas. Okviri za struganje dostupni su na Python-u, JavaScript-u, čvoru i drugim jezicima. Jedan od najlakših načina za početak struganja je upotreba Python-a i Beautiful Soup-a.
Izrada web stranice Python-om
Za početak je potrebno samo nekoliko redaka koda, pod uvjetom da su instalirani Python i BeautifulSoup. Evo malog skripta za dobivanje izvora web stranice i dopuštanja BeautifulSoupu da ga ocijeni.
from bs4 import BeautifulSoup zahtjeva za uvoz url = "http://www.athleticvolume.com/programming/" content = questions.get (url) juha = BeautifulSoup (content.text) ispis (juha)
Vrlo jednostavno, postavljamo GET zahtjev na URL i zatim odgovor stavljamo u objekt. Ispis objekta prikazuje HTML izvornog koda URL-a. Proces je isti kao da smo ručno otišli na web mjesto i kliknuli Pogledaj izvor.
Konkretno, ovo je web stranica koja svakodnevno postavlja treninge u stilu CrossFit, ali samo jednu dnevno. Možemo izraditi naš strugač kako bismo vježbali svaki dan, a zatim ga dodati na objedinjavajući popis vježbi. U osnovi, možemo stvoriti tekstualnu povijesnu bazu podataka vježbanja kroz koje lako možemo pretraživati.
Čarolija BeaufiulSoup je sposobnost pretraživanja svih HTML koda pomoću ugrađene funkcije findAll (). U ovom konkretnom slučaju web stranica koristi nekoliko “SQS-blok sadržaj” oznake. Stoga se skripta mora provući kroz sve te oznake i pronaći onu koja nam je zanimljiva.
Uz to, postoji niz
oznake u odjeljku. Skripta može dodati sav tekst svake od tih oznaka u lokalnu varijablu. Da biste to učinili, skriptu dodajte jednostavnu petlju:
za div_class u supu.findAll ('div', 'class': 'sqs-block-content'): recordThis = Netočno za p u div_class.findAll ('p'): ako je 'PROGRAM' u p.text. gornja (): recordThis = Istina ako je recordThis: program + = p.text program + = '\ n'
Evo ga! Rođen je mrežni strugač.
Povećavanje struganja
Postoje dvije staze za kretanje naprijed.
Jedan od načina za istraživanje mrežnog struganja je korištenje već izgrađenih alata. Web Scraper (veliko ime!) Ima 200.000 korisnika i jednostavan je za korištenje. Također, Parse Hub omogućuje korisnicima izvoz izrezanih podataka u Excel i Google Sheets.
Uz to, Web Scraper nudi dodatak za Chrome koji pomaže u vizualizaciji načina izrade web mjesta. Najbolje od svega, sudeći po imenu, je OctoParse, snažni strugač s intuitivnim sučeljem.
Konačno, sada kada znate pozadinu mrežnog struganja, podizanje vlastitog malog mrežnog strugača kako biste mogli indeksirati i pokrenuti Kako izraditi osnovni web pretraživač za povlačenje informacija s web stranice Kako izgraditi osnovni web pretraživač kako biste izvukli informacije s Web stranica Jeste li ikada željeli zabilježiti podatke s web stranice? Možete napisati alata za indeksiranje kako biste se kretali po web mjestu i izdvojili sve što vam treba. samo po sebi je zabavno nastojanje.