„Python“

Pradedančiųjų žiniatinklio grandymo su „Python“ ir „Beautiful sriuba“ vadovas

Pradedančiųjų žiniatinklio grandymo su „Python“ ir „Beautiful sriuba“ vadovas

Visuotinis internetas yra visa apimantis ir galutinis visų turimų duomenų šaltinis. Sparti interneto plėtra per pastaruosius tris dešimtmečius nebuvo precedento. Todėl žiniatinklis kiekvieną dieną kaupiamas su šimtais terabaitų duomenų.

Visi šie duomenys tam tikram žmogui turi tam tikrą vertę. Pavyzdžiui, jūsų naršymo istorija turi reikšmės socialinės žiniasklaidos programoms, nes jos ją naudoja norėdami suasmeninti jums rodomas reklamas. Dėl šių duomenų taip pat yra didelė konkurencija; keli MB daugiau kai kurių duomenų gali suteikti verslui reikšmingą pranašumą prieš jų konkurenciją.

Duomenų gavyba naudojant „Python“

Norėdami padėti tiems iš jūsų, kurie dar nesinaudojo duomenų kaupimu, parengėme šį vadovą, kuriame parodysime, kaip nukopijuoti duomenis iš žiniatinklio naudojant „Python“ ir „Beautiful sriubų biblioteką“.

Darome prielaidą, kad jau esate gerai susipažinę su „Python“ ir HTML, nes dirbsite su abiem vadovaudamiesi šio vadovo instrukcijomis.

Būkite atsargūs, kokiose svetainėse bandote naujai įgytus duomenų gavybos įgūdžius, nes daugelis svetainių mano, kad tai įkyru ir žino, kad tai gali turėti įtakos.

Bibliotekų diegimas ir paruošimas

Dabar naudosime dvi bibliotekas, kurias naudosime: „python“ užklausų biblioteka turinio įkėlimui iš tinklalapių ir „Beautiful Soup“ biblioteka - tikram proceso šukavimui. Nepamirškite, kad yra „BeautifulSoup“ alternatyvų, ir jei esate susipažinę su bet kuriuo iš šių dalykų, drąsiai naudokite juos: „Scrappy“, „Mechanize“, „Selenium“, „Portia“, „kimono“ ir „ParseHub“.

Užklausų biblioteką galima atsisiųsti ir įdiegti naudojant komandą pip, kaip nurodyta toliau:

# pip3 diegimo užklausų

Užklausų biblioteka turėtų būti įdiegta jūsų įrenginyje. Panašiai atsisiųskite „BeautifulSoup“:

# pip3 įdiekite beautifulsoup4

Tuo mūsų bibliotekos yra pasirengusios atlikti tam tikrus veiksmus.

Kaip minėta aukščiau, užklausų bibliotekoje nėra daug naudos, išskyrus tai, kad iš tinklalapių turinio yra gaunama. „BeautifulSoup“ bibliotekoje ir užklausų bibliotekose yra vieta kiekviename scenarijuje, kurį ketinate rašyti, ir jie turi būti importuojami prieš kiekvieną taip:

$ importavimo užklausos
$ iš „bs4“ importuokite „BeautifulSoup“ kaip bs

Tai prideda prašomą raktinį žodį prie vardų srities, nurodydama „Python“ raktinio žodžio reikšmę, kai tik paraginama jį naudoti. Tas pats nutinka ir raktiniam žodžiui „bs“, nors čia mes turime pranašumą priskirti paprastesnį raktinį žodį „BeautifulSoup“.

tinklalapis = užklausos.gauti (URL)

Aukščiau pateiktas kodas gauna tinklalapio URL ir sukuria iš jo tiesioginę eilutę, išsaugodamas ją kintamajame.

$ webcontent = tinklalapis.turinys

Aukščiau pateikta komanda nukopijuoja tinklalapio turinį ir priskiria jį kintamajam žiniatinklio turiniui.

Tai atlikome su užklausų biblioteka. Liko tik pakeisti užklausų bibliotekos parinktis į „BeautifulSoup“ parinktis.

$ htmlcontent = bs (žiniatinklio turinys, „html.analizatorius “)

Tai analizuoja užklausos objektą ir paverčia jį skaitomais HTML objektais.

Pasirūpinę tuo, mes galime pereiti prie tikrojo grandymo antgalio.

Žiniatinklio grandymas naudojant „Python“ ir „BeautifulSoup“

Pereikime ir pažiūrėkime, kaip galime nuskaityti HTML duomenų objektus naudodami „BeautifulSoup“.

Norėdami iliustruoti pavyzdį, kol paaiškinsime dalykus, dirbsime su šiuo HTML fragmentu:

Šio fragmento turinį galime pasiekti naudodami „BeautifulSoup“ ir naudoti jį HTML turinio kintamajame, kaip nurodyta toliau:


Aukščiau pateiktas kodas ieško visų pavadintų žymų

, ir parodo vartotojui. Jei randa daugiau nei vieną žymą, jas rodo po vieną:

Technologija

Norėdami tuo pat metu išsaugoti pavadintas žymas

į sąrašą mes išdavėme galutinį kodą taip:

Išvestis turėtų grįžti taip:

Iškviesti vieną iš

žymeles, indeksuokite sąrašą ir paimkite norimą.

Dabar galime pamatyti, kaip išsirinkti

žymos, atsižvelgiant į jų charakteristikas. Norėdami atskirti a
, mums reikėtų
žymos su atributu „Tech_head“. Įveskite šį kodą:


for div sriuboje.find_all ('div', attrs = 'class' = 'Tech_head'):

Tai atneša

žyma.

Jūs gausite:

Technologija

Viskas be etikečių.

Galiausiai aptarsime, kaip pažymėti atributo vertę žymoje. Kode turėtų būti ši žyma:

panele

Norėdami naudoti vertę, susietą su src atributu, naudokite:

htmlcontent.rasti („img“) [„src“]

O išeitis pasirodytų tokia:

"images_4 / a-pradedantiesiems-žiniatinklio vadovas su-python-and-beautiful-sriuba.JPG "

O berniuk, tai tikrai yra daugybė darbų!

Jei manote, kad jūsų žinios apie pitoną ar HTML yra nepakankamos arba jei jus tiesiog pribloškia žiniatinklio grandymas, nesijaudinkite.

Jei esate verslas, kuriam reikia reguliariai gauti tam tikro tipo duomenis, bet pats negalite pats nuskaityti žiniatinklio, tai yra būdų, kaip išspręsti šią problemą. Bet žinok, kad tai kainuos šiek tiek pinigų. Galite rasti ką nors, kas jums užrašys, arba galite gauti aukščiausios kokybės duomenų paslaugą iš tokių svetainių kaip „Google“ ir „Twitter“, kad galėtų su jumis bendrinti duomenis. Jie dalijasi savo duomenų dalimis naudodami API, tačiau šie API skambučiai yra ribojami per dieną. Be to, tokios interneto svetainės gali labai apsaugoti jų duomenis. Paprastai daugelis tokių svetainių apskritai nesidalija jokiais savo duomenimis.

Paskutinės mintys

Prieš baigdami kalbėti, leiskite man jums pasakyti garsiai, jei tai dar nebuvo savaime suprantama; komandos find (), find_all () yra jūsų geriausi draugai, kai baigiate naudoti „BeautifulSoup“. Nors yra daug daugiau, kad padengtumėte pagrindinius duomenis, ieškančius „Python“, šio vadovo turėtų pakakti tiems, kurie tik pradeda.

Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...

Naujausi straipsniai apie operacines sistemas. Daug įdomių vadovų ir naudingų patarimų. Šiuolaikinių technologijų pasaulyje pasijuskite savais