Semaltekspert: Python og BeautifulSoup. Skrap sider med letthet

Når du utfører dataanalyse eller maskinlæringsprosjekter, kan det hende du må skrape nettsteder for å få de nødvendige dataene og fullføre prosjektet ditt. Python programmeringsspråk har en kraftig samling av verktøy og moduler som kan brukes til dette formålet. Du kan for eksempel bruke BeautifulSoup-modulen for HTML-parsing.

Her skal vi ta en titt på BeautifulSoup og finne ut hvorfor den nå brukes så mye i skraping av nett .

BeautifulSoup-funksjoner

- Det gir forskjellige metoder for enkel navigering, søk og modifisering av parse trær, slik at du enkelt kan dissekere et dokument og trekke ut alt du trenger uten å skrive for mye kode.

- Den konverterer automatisk utgående dokumenter til UTF-8 og innkommende dokumenter til Unicode. Dette betyr at du ikke trenger å bekymre deg for kodinger forutsatt at dokumentet har spesifisert en koding eller at Vakre suppe kan autodetektere den.

- BeautifulSoup regnes som overlegen i forhold til andre populære Python-parsere som html5lib og lxml. Det gjør det mulig å prøve forskjellige analyseringsstrategier. En ulempe med denne modulen er imidlertid at den gir mer fleksibilitet på bekostning av hastigheten.

Hva trenger du for å skrape nettstedet med BeautifulSoup?

For å begynne å jobbe med BeautifulSoup, må du ha Python-programmeringsmiljø (enten lokal eller serverbasert) satt opp på maskinen din. Python er vanligvis forhåndsinstallert i OS X, men hvis du bruker Windows, må du laste ned og installere språket fra det offisielle nettstedet.

Du må ha BeautifulSoup- og Request-modulene installert.

Til slutt er det å være kjent og behagelig å jobbe med HTML-tagging og -struktur definitivt nyttig siden du jobber med data fra nettet.

Importer forespørsler og BeautifulSoup-biblioteker

Med Python programmeringsmiljø godt konfigurert, kan du nå opprette en ny fil (for eksempel med nano) med hvilket som helst navn du vil.

Requests-biblioteket lar deg bruke en HTTP-form som er lesbar av mennesker i Python-programmene dine mens BeautifulSoup får skrapingen raskere. Du kan bruke importuttalelsen for å få begge bibliotekene.

Hvordan samle og analysere en webside

Bruk metoden request.get () for å samle inn nettadressen til websiden du vil hente ut data fra. Deretter oppretter du et BeautifulSoup-objekt eller analysertre. Dette objektet tar dokumentet fra Forespørsler som sine argumenter og analyserer det deretter. Når siden er samlet, analysert og satt opp som et BeautifulSoup-objekt, kan du deretter fortsette å samle inn dataene du trenger.

Pakk ut ønsket tekst fra den parsede websiden

Hver gang du vil samle webdata, må du vite hvordan disse dataene er beskrevet av Document Object Model (DOM) på websiden. Høyreklikk i nettleseren din (hvis du bruker Windows), eller CTRL + klikk (hvis du bruker macOS) på et av elementene som er en del av dataene av interesse. Hvis du for eksempel vil trekke ut data om studenters nasjonalitet, klikker du på et av navnene til en student. En kontekstmeny dukker opp, og i den vil du se et menyelement som ligner på Inspect Element (for Firefox) eller Inspect (for Chrome). Klikk på det aktuelle Inspekter-menypunktet, og verktøyene for webutvikler vises i nettleseren din.

BeautifulSoup er et enkelt, men kraftig HTML-analyseverktøy som lar deg mye fleksibilitet når du skraper nettsteder . Når du bruker den, må du ikke glemme å overholde generelle skrapingsregler, for eksempel å sjekke nettstedets vilkår og betingelser; å besøke nettstedet regelmessig og oppdatere koden din i henhold til endringene som er gjort på nettstedet. Når du har denne kunnskapen om skraping av nettsteder med Python og BeautifulSoup, kan du nå enkelt få de nettdataene du trenger for prosjektet ditt.

mass gmail