Python

Sprievodca začiatočníkom pre škrabanie webu pomocou polievky Python a Beautiful

Sprievodca začiatočníkom pre škrabanie webu pomocou polievky Python a Beautiful

Celosvetový web je komplexným a konečným zdrojom všetkých údajov, ktoré tu sú. Rýchly rozvoj, ktorý internet zaznamenal za posledné tri desaťročia, bol bezprecedentný. Výsledkom je, že web sa každý deň pripája k stovkám terabajtov dát.

Všetky tieto údaje majú pre určitého niekoho hodnotu. Vaša história prehliadania má napríklad význam pre aplikácie sociálnych médií, pretože ju používajú na prispôsobenie reklám, ktoré vám zobrazujú. A aj pre tieto údaje existuje veľká konkurencia; o niekoľko MB viac niektorých údajov môže podnikom poskytnúť výrazný náskok pred ich konkurenciou.

Data mining s Pythonom

Aby sme pomohli tým z vás, ktorí sú v škrabaní údajov nováčikom, pripravili sme túto príručku, v ktorej ukážeme, ako škrabať údaje z webu pomocou knižnice Python a Krásna polievka.

Predpokladáme, že už máte stredne pokročilé znalosti jazyka Python a HTML, pretože s nimi budete pracovať podľa pokynov v tejto príručke.

Buďte opatrní, na ktorých weboch skúšate svoje nové vedomosti v oblasti ťažby dát, pretože mnoho webov to považuje za rušivé a vie, že by to mohlo mať dôsledky.

Inštalácia a príprava knižníc

Teraz použijeme dve knižnice, ktoré budeme používať: knižnicu požiadaviek pythonu na načítanie obsahu z webových stránok a knižnicu Beautiful Soup pre skutočný škrabanec procesu. Existujú alternatívy k BeautifulSoup, myslite na to, a ak ste oboznámení s jedným z nasledujúcich spôsobov, pokojne ich použite: Scrappy, Mechanize, Selenium, Portia, kimono a ParseHub.

Knižnicu požiadaviek je možné stiahnuť a nainštalovať pomocou príkazu pip, ako je uvedené nižšie:

# požiadavky na inštaláciu pip3

Knižnica žiadostí by mala byť nainštalovaná vo vašom zariadení. Podobne si stiahnite aj BeautifulSoup:

# pip3 nainštalujte beautifulsoup4

Vďaka tomu sú naše knižnice pripravené na akciu.

Ako už bolo spomenuté vyššie, knižnica požiadaviek nemá iné využitie ako načítanie obsahu z webových stránok. Knižnica a knižnice databáz BeautifulSoup majú miesto v každom skripte, ktorý budete písať, a musia byť pred každým importované nasledujúcim spôsobom:

$ požiadavky na import
$ z bs4 importuje BeautifulSoup ako bs

Týmto sa do menného priestoru pridá požadované kľúčové slovo, ktoré Pythonu signalizuje jeho význam, kedykoľvek je vyzvané na jeho použitie. To isté sa stane s kľúčovým slovom bs, aj keď tu máme výhodu priradenia jednoduchšieho kľúčového slova pre BeautifulSoup.

webová stránka = požiadavky.získať (URL)

Kód vyššie načíta adresu URL webovej stránky a vytvorí z nej priamy reťazec, ktorý uloží do premennej.

$ webcontent = webová stránka.obsah

Vyššie uvedený príkaz skopíruje obsah webovej stránky a priradí ho k variabilnému webovému obsahu.

S tým sme skončili s knižnicou požiadaviek. Ostáva už len zmeniť možnosti knižnice požiadaviek na možnosti BeautifulSoup.

$ htmlcontent = bs (webcontent, „html.analyzátor “)

Toto analyzuje objekt žiadosti a zmení ho na čitateľné objekty HTML.

Keď je o to všetko postarané, môžeme prejsť na skutočný škrabací bit.

Škrabanie webu pomocou programov Python a BeautifulSoup

Poďme ďalej a pozrime sa, ako môžeme pomocou BeautifulSoup škrabať na dátové objekty HTML.

Na ilustráciu príkladu, zatiaľ čo vysvetľujeme veci, budeme pracovať s týmto útržkom html:

K obsahu tohto úryvku môžeme získať prístup pomocou nástroja BeautifulSoup a použiť ho v premennej obsahu HTML, ako je uvedené nižšie:


Vyššie uvedený kód vyhľadáva všetky pomenované značky

, a zobrazí to používateľovi. Ak nájde viac ako jednu značku, zobrazí ich jednu po druhej:

Technológie

Ak chcete súčasne uložiť pomenované značky

do zoznamu, vydáme konečný kód ako v časti:

Výstup by sa mal vrátiť takto:

Privolať jedného z

značky, indexujte zoznam a vezmite si ten, ktorý chcete.

Teraz sa pozrime, ako vybrať

značky udržujúce v perspektíve ich vlastnosti. Na oddelenie a
, potrebovali by sme
štítky s atribútom „Tech_head“. Zadajte nasledujúci kód:


za div v polievke.find_all ('div', attrs = 'class' = 'Tech_head'):

Toto načíta

značka.

Dostali by ste:

Technológie

Všetko bez značiek.

Na záver sa budeme venovať tomu, ako zistiť hodnotu atribútu v značke. Kód by mal mať túto značku:

pani

Na výpočet hodnoty spojenej s atribútom src použijete nasledovné:

htmlobsah.nájsť („img“) [„src“]

A výstup by sa ukázal ako:

„images_4 / a-začiatočníci-sprievodca-web-škrabaním-s-python-a-krásnou-polievkou.jpg "

Och, chlapče, to je určite veľa práce!

Ak máte pocit, že vaša znalosť jazyka Python alebo HTML nie je dostatočná, alebo ak vás webový scraping jednoducho zavalil, nebojte sa.

Ak ste podnikom, ktorý potrebuje pravidelne získavať konkrétny typ údajov, ale nedokáže sám urobiť webový scraping, existujú spôsoby, ako tento problém vyriešiť. Ale vedzte, že vás to bude stáť nejaké peniaze. Môžete nájsť niekoho, kto za vás vykoná škrabanie, alebo môžete získať prémiovú dátovú službu z webov ako Google a Twitter, ktorá s vami bude zdieľať údaje. Tieto zdieľajú časti svojich údajov pomocou API, ale tieto hovory API sú obmedzené na deň. Okrem toho môžu webové stránky, ako sú tieto, veľmi chrániť svoje údaje. Mnoho takýchto stránok zvyčajne nezdieľa vôbec žiadne svoje údaje.

Záverečné myšlienky

Skôr ako skončíme, dovoľte mi, aby som vám nahlas povedal, či to už nebolo zrejmé; príkazy find (), find_all () sú vaši najlepší priatelia, keď sa chystáte zošrotovať s BeautifulSoup. Aj keď je tu oveľa viac, čo by ste si mali zahrnúť do škrabania kmeňových dát pomocou Pythonu, táto príručka by mala stačiť všetkým, ktorí práve začínate.

Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...
Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...
Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...

Najnovšie články o operačných systémoch. Veľa zaujímavých sprievodcov a užitočných rád. Cíťte sa ako vo svete moderných technológií