Semalt Expert: Python ja BeautifulSoup. Kraapige saidid hõlpsalt kokku

Andmeanalüüsi või masinõppeprojektide läbiviimisel peate vajalike andmete saamiseks ja projekti lõpuleviimiseks veebisaidid kraapima. Pythoni programmeerimiskeeles on võimas tööriistade ja moodulite kollektsioon, mida saab sel eesmärgil kasutada. Näiteks saate HTML-i parsimiseks kasutada moodulit BeautifulSoup.

Siin vaatleme BeautifulSoupi ja saame teada, miks seda nüüd veebide kraapimisel nii laialdaselt kasutatakse.

BeautifulSoupi funktsioonid

- See pakub erinevaid meetodeid parsipuude hõlpsaks navigeerimiseks, otsimiseks ja muutmiseks, võimaldades teil hõlpsalt lahutada dokumendi ja eraldada kõik vajaliku ilma liigset koodi kirjutamata.

- See teisendab väljaminevad dokumendid automaatselt UTF-8 ja sissetulevad dokumendid Unicode'i. See tähendab, et te ei pea kodeeringute pärast muretsema, kui dokumendis on määratud kodeering või Beautiful Soup suudab selle automaatselt tuvastada.

- BeautifulSoupit peetakse paremaks teiste populaarsete Pythoni parserite, näiteks html5lib ja lxml suhtes. See võimaldab proovida erinevaid parsimisstrateegiaid. Selle mooduli üks puudusi on aga see, et see pakub kiiruse arvelt suuremat paindlikkust.

Mida peate veebisaidi BeautifulSoupiga kraapima?

BeautifulSoupiga töötamise alustamiseks peab teie arvutis olema Pythoni programmeerimiskeskkond (kas kohalik või serveripõhine). Python on OS X-is tavaliselt eelinstalleeritud, kuid kui kasutate Windowsi, peate selle keele alla laadima ja installima ametlikult veebisaidilt.

Peaks olema installitud moodulid BeautifulSoup ja Requests.

Viimaseks on HTML-i sildistamise ja ülesehitusega tuttav ja mugav töötada kindlasti, kuna töötate veebist hangitavate andmetega.

Taotluste ja BeautifulSoup-teekide importimine

Kui Pythoni programmeerimiskeskkond on hästi üles seatud, saate nüüd luua uue faili (näiteks nano abil) mis tahes nimega.

Taotluste teek võimaldab teil Pythoni programmides kasutada inimesele loetavat vormi HTTP, samal ajal kui BeautifulSoup teeb kraapimise kiiremini. Mõlema raamatukogu saamiseks võite kasutada impordi avaldust.

Kuidas veebilehte koguda ja parsida

Selle veebisaidi URL-i kogumiseks, millelt soovite andmeid ekstraheerida, kasutage meetodit applications.get (). Järgmisena looge objekt BeautifulSoup või pars. See objekt võtab dokumendina päringud oma argumentidena ja seejärel parsib. Kui leht on kogutud, sõelutud ja seatud BeautifulSoup-objektina, saate seejärel koguda vajalikke andmeid.

Soovitud teksti kaevandamine parsitud veebilehelt

Kui soovite veebiandmeid koguda, peate teadma, kuidas neid andmeid kirjeldab veebilehe dokumendiobjektimudel (DOM). Paremklõpsake oma veebibrauseris (kui kasutate Windowsi) või CTRL + klõpsake (kui kasutate macOS-i) ühel huvipakkuvate andmete osa moodustavatel üksustel. Näiteks kui soovite andmeid õpilaste rahvuste kohta välja tõmmata, klõpsake ühte õpilase nime. Hüppab kontekstimenüü ja selles näete menüüüksust, mis sarnaneb kontrollima elementi (Firefoxi jaoks) või vaadata (Chrome'i jaoks). Klõpsake vastavat menüü üksust Kontrolli ja siis kuvatakse teie brauseris veebiarendaja tööriistad.

BeautifulSoup on lihtne, kuid samas võimas HTML-i parsimisriist, mis võimaldab teil veebisaitide kraapimisel palju paindlikkust. Selle kasutamisel ärge unustage järgida üldisi kraapimisreegleid, näiteks kontrollida veebisaidi nõudeid ja tingimusi; regulaarselt saidi külastamine ja koodi värskendamine vastavalt saidil tehtud muudatustele. Omades neid teadmisi veebisaitide Python ja BeautifulSoup kraapimise kohta, saate nüüd hõlpsalt hankida oma projekti jaoks vajalikke veebiandmeid.

mass gmail