„Semalt Expert“: „Python“ ir „BeautifulSoup“. Scrape vietas lengvai

Atliekant duomenų analizę ar kompiuterinio mokymosi projektus, gali tekti nuskaityti svetaines, kad gautumėte reikalingus duomenis ir užbaigtumėte savo projektą. „Python“ programavimo kalba turi galingą įrankių ir modulių, kurie gali būti naudojami šiam tikslui, rinkinį. Pavyzdžiui, HTML nagrinėjimui galite naudoti „BeautifulSoup“ modulį.
Čia apžvelgsime „BeautifulSoup“ ir išsiaiškinsime, kodėl ji dabar taip plačiai naudojama žiniatinklio grandyboje .
„BeautifulSoup“ funkcijos
- Tai pateikia įvairius būdus, leidžiančius lengvai naršyti, ieškoti ir modifikuoti analizuojamus medžius, tokiu būdu leidžiant lengvai išskaidyti dokumentą ir išgauti viską, ko reikia, neparašius per daug kodo.
- Tai automatiškai konvertuoja siunčiamus dokumentus į UTF-8, o gaunamus dokumentus - į „Unicode“. Tai reiškia, kad jums nereikės rūpintis kodavimais, jei dokumente yra nurodytas kodavimas arba „Beautiful Soup“ gali jį automatiškai nustatyti.
- „BeautifulSoup“ laikomas pranašesniu už kitus populiarius „Python“ analizatorius, tokius kaip „html5lib“ ir „lxml“. Tai leidžia išbandyti skirtingas analizės strategijas. Tačiau vienas šio modulio trūkumų yra tas, kad jis suteikia daugiau lankstumo greičio sąskaita.
Ko reikia norint sugadinti svetainę naudojant „BeautifulSoup“?
Norėdami pradėti dirbti su „BeautifulSoup“, savo kompiuteryje turite būti nustatę „Python“ programavimo aplinką (vietinę arba serverio pagrindu). „Python“ paprastai iš anksto įdiegiamas „OS X“, tačiau jei naudojate „Windows“, kalbą turėsite atsisiųsti ir įdiegti iš oficialios svetainės.

Turėtumėte būti įdiegti „BeautifulSoup“ ir „Requests“ moduliai.
Galiausiai, gerai žinoti ir patogiai dirbti su HTML žymėjimu ir struktūra yra neabejotinai naudinga, nes dirbsi su duomenimis, gautais iš interneto.
Importuoti užklausas ir „BeautifulSoup“ bibliotekas
Kai „Python“ programavimo aplinka yra tinkamai nustatyta, dabar galite sukurti naują failą (pavyzdžiui, naudodami „nano“) bet kokiu jūsų vardu.
Užklausų biblioteka leidžia „Python“ programose naudoti žmonėms suprantamą HTTP formą, o „BeautifulSoup“ grandymą atlieka greičiau. Galite naudoti importavimo pareiškimą, kad gautumėte abi bibliotekas.
Kaip surinkti ir išanalizuoti tinklalapį
Norėdami surinkti tinklalapio, iš kurio norite išskleisti duomenis, URL adresą naudokite užklausą.get (). Tada sukurkite „BeautifulSoup“ objektą arba parsisiuntimo medį. Šis objektas paima dokumentą iš „Requests“ kaip savo argumentus ir tada jį analizuoja. Kai puslapis bus surinktas, išanalizuotas ir nustatytas kaip „BeautifulSoup“ objektas, galėsite tęsti reikalingų duomenų rinkimą.
Norimo teksto ištraukimas iš analizuoto tinklalapio
Kai norite rinkti žiniatinklio duomenis, turite žinoti, kaip tuos duomenis apibūdina tinklalapio dokumento objekto modelis (DOM). Žiniatinklio naršyklėje dešiniuoju pelės mygtuku spustelėkite (jei naudojate „Windows“) arba CTRL + spustelėkite (jei naudojate „MacOS“) ant vieno iš elementų, sudarančių svarbių duomenų dalį. Pavyzdžiui, jei norite surinkti duomenis apie studentų tautybes, spustelėkite vieną iš studentų vardų. Iškyla kontekstinis meniu, kuriame pamatysite meniu elementą, panašų į „Apžiūrėkite elementą“ („Firefox“) arba „Patikrinkite“ („Chrome“). Spustelėkite atitinkamą meniu punktą Apžiūrėti, ir žiniatinklio kūrėjo įrankiai pasirodys jūsų naršyklėje.
„BeautifulSoup“ yra paprastas, tačiau galingas HTML analizės įrankis, leidžiantis jums daug lanksčiau nuskaityti svetaines . Naudodamiesi ja, nepamirškite laikytis bendrų metimo taisyklių, pavyzdžiui, patikrinti svetainės taisykles ir nuostatas; reguliariai aplankydami svetainę ir atnaujindami savo kodą, atsižvelgiant į svetainėje atliktus pakeitimus. Turėdami šias žinias apie svetainių nugriebimą naudojant „Python“ ir „BeautifulSoup“, dabar galite lengvai gauti savo projektui reikalingus žiniatinklio duomenis.