Piton

Vodič za početnike za struganje weba s Pythonom i Lijepom juhom

Vodič za početnike za struganje weba s Pythonom i Lijepom juhom

Svjetska mreža sveobuhvatni je i krajnji izvor svih podataka koji postoje. Brzi razvoj koji je Internet zabilježio u posljednja tri desetljeća bio je bez presedana. Kao rezultat, web se montira sa stotinama terabajta podataka svakog dana.

Svi ti podaci imaju određenu vrijednost za određenog nekoga. Na primjer, vaša povijest pregledavanja ima značaj za aplikacije na društvenim mrežama, jer je koriste za prilagodbu reklama koje vam prikazuju. A i za ove podatke postoji velika konkurencija; nekoliko MB više nekih podataka može tvrtkama dati značajnu prednost nad konkurencijom.

Istraživanje podataka s Pythonom

Kako bismo pomogli onima od vas koji su novi u struganju podataka, pripremili smo ovaj vodič u kojem ćemo pokazati kako strugati podatke s weba pomoću biblioteke Python i Beautiful juha.

Pretpostavljamo da već imate srednje poznavanje Pythona i HTML-a, jer ćete raditi s obojicom slijedeći upute u ovom vodiču.

Budite oprezni na kojim web lokacijama isprobavate svoje novootkrivene vještine rudarenja podataka, jer mnoge web lokacije ovo smatraju nametljivim i znaju da bi moglo biti posljedica.

Instaliranje i priprema knjižnica

Sada ćemo koristiti dvije knjižnice koje ćemo koristiti: biblioteku zahtjeva pythona za učitavanje sadržaja s web stranica i knjižnicu Beautiful Soup za stvarni dio struganja. Postoje alternative za BeautifulSoup, pripazite, i ako ste upoznati s bilo čime od sljedećeg, slobodno ih upotrijebite: Scrappy, Mechanize, Selenium, Portia, kimono i ParseHub.

Biblioteka zahtjeva može se preuzeti i instalirati pomoću naredbe pip kao u nastavku:

# pip3 zahtjeva za instalaciju

Biblioteka zahtjeva trebala bi biti instalirana na vašem uređaju. Slično tome preuzmite i BeautifulSoup:

# pip3 instaliraj beautifulsoup4

Time su naše knjižnice spremne za neke akcije.

Kao što je gore spomenuto, knjižnica zahtjeva nema mnogo koristi osim dohvaćanja sadržaja s web stranica. Biblioteka BeautifulSoup i knjižnice zahtjeva imaju mjesto u svakoj skripti koju ćete napisati, a prije svake moraju se uvesti na sljedeći način:

$ zahtjeva za uvoz
$ sa bs4 uvozi BeautifulSoup kao bs

To dodaje traženu ključnu riječ u prostor imena, signalizirajući Pythonu značenje ključne riječi kad god se zatraži njezina upotreba. Ista se stvar događa s ključnom riječi bs, iako ovdje imamo prednost dodjeljivanja jednostavnije ključne riječi za BeautifulSoup.

web stranica = zahtjevi.dobiti (URL)

Gornji kod dohvaća URL web stranice i stvara izravni niz od njega, spremajući ga u varijablu.

$ webcontent = web stranica.sadržaj

Gornja naredba kopira sadržaj web stranice i dodjeljuje ih promjenjivom web sadržaju.

S tim smo završili s bibliotekom zahtjeva. Preostalo je samo promijeniti opcije knjižnice zahtjeva u BeautifulSoup opcije.

$ htmlcontent = bs (webcontent, “html.parser “)

Ovim se analizira objekt zahtjeva i pretvara u čitljive HTML objekte.

Uz sve to zbrinuto, možemo prijeći na stvarni dio za struganje.

Web struganje s Pythonom i BeautifulSoupom

Krenimo dalje i vidjet ćemo kako pomoću programa BeautifulSoup možemo strugati za HTML objektima podataka.

Da bismo ilustrirali primjer, dok objašnjavamo stvari, radit ćemo s ovim html isječkom:

Sadržaju ovog isječka možemo pristupiti s BeautifulSoup i koristiti ga na varijabli HTML sadržaja kao pod:


Gornji kod traži bilo koje imenovane oznake

, i prikazuje ga korisniku. Ako pronađe više oznaka, prikazuje ih jednu po jednu:

Tehnologija

Za istovremeno spremanje imenovanih oznaka

na popis, izdali bismo konačni kod kao pod:

Izlaz bi se trebao vratiti ovako:

Da pozove jednog od

oznake, indeksirajte popis i uzmite onaj koji želite.

Sada ćemo vidjeti kako odabrati

oznake zadržavajući u perspektivi njihove karakteristike. Za odvajanje a
, trebali bismo
oznake s atributom "Tech_head". Unesite sljedeći kod:


za div u juhi.find_all ('div', attrs = 'class' = 'Tech_head'):

Ovo dohvaća

označiti.

Dobili biste:

Tehnologija

Sve bez oznaka.

Na kraju ćemo pokriti kako odabrati vrijednost atributa u oznaci. Kôd bi trebao imati sljedeću oznaku:

dama

Da biste izvršili vrijednost povezanu sa atributom src, upotrijebili biste sljedeće:

html sadržaj.pronađi („img“) [„src“]

A izlaz bi ispao kao:

"images_4 / a-beginners-guide-to-web-scraping-with-python-and-beautiful-juha.jpg "

O, čovječe, to je sigurno puno posla!

Ako smatrate da je vaše poznavanje pythona ili HTML-a neadekvatno ili ako ste jednostavno preplavljeni struganjem weba, ne brinite.

Ako ste tvrtka koja treba redovito prikupljati određenu vrstu podataka, ali ne možete sami strugati web, postoje načini za rješavanje ovog problema. Ali znajte da će vas to koštati nešto novca. Možete pronaći nekoga tko će za vas obaviti struganje ili možete dobiti premium uslugu podataka s web lokacija poput Googlea i Twittera kako bi podijelili podatke s vama. Oni dijele dijelove svojih podataka koristeći API-je, ali ovi API pozivi ograničeni su dnevno. Osim toga, web stranice poput ove mogu vrlo zaštititi svoje podatke. Obično mnoge takve web stranice uopće ne dijele nikakve podatke.

Završne misli

Prije nego što završimo, dopustite mi da vam kažem naglas, ako to već nije samo po sebi razumljivo; naredbe find (), find_all () vaši su najbolji prijatelji kad ne stružete s BeautifulSoup-om. Iako je puno više za obraditi struganje matičnih podataka pomoću Pythona, ovaj vodič trebao bi biti dovoljan onima koji tek počinju.

SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...
0 A.D. Vodič
Od mnogih strateških igara tamo, 0 A.D. uspijeva se istaknuti kao sveobuhvatan naslov i vrlo duboka, taktička igra unatoč tome što je otvoren izvor. R...

Najnoviji članci o operativnim sustavima. Mnogo zanimljivih vodiča i korisnih savjeta. Osjećajte se kao svoj u svijetu moderne tehnologije