Semaltekspert: Python og BeautifulSoup. Skrap steder med lethed

Når du udfører dataanalyse eller maskinlæringsprojekter, skal du muligvis skrabe websteder for at få de nødvendige data og afslutte dit projekt. Python-programmeringssprog har en kraftig samling af værktøjer og moduler, der kan bruges til dette formål. For eksempel kan du bruge BeautifulSoup-modulet til HTML-parsning.

Her skal vi tage et kig på BeautifulSoup og finde ud af, hvorfor det nu bruges så vidt brugt til skrabningnettet .

BeautifulSoup funktioner

- Det giver forskellige metoder til nem navigation, søgning og ændring af analysetræer, hvilket giver dig mulighed for let at dissekere et dokument og udpakke alt hvad du har brug for uden at skrive for meget kode.

- Det konverterer automatisk udgående dokumenter til UTF-8 og indgående dokumenter til Unicode. Dette betyder, at du ikke behøver at bekymre dig om kodninger, forudsat at dokumentet har angivet en kodning, eller smuk suppe kan autodetektere den.

- BeautifulSoup betragtes som overlegen i forhold til andre populære Python-parsere såsom html5lib og lxml. Det giver mulighed for at prøve forskellige analyserstrategier. En ulempe ved dette modul er imidlertid, at det giver større fleksibilitet på bekostning af hastigheden.

Hvad har du brug for at skrabe webstedet med BeautifulSoup?

For at begynde at arbejde med BeautifulSoup skal du have Python-programmeringsmiljø (enten lokal eller serverbaseret) konfigureret på din maskine. Python er normalt forinstalleret i OS X, men hvis du bruger Windows, skal du downloade og installere sproget fra det officielle websted.

Du skal have BeautifulSoup- og Request-modulerne installeret.

Endelig er det bestemt nyttigt at være kendt og behagelig at arbejde med HTML-tagging og -struktur, da du arbejder med data, der kommer fra web.

Import af forespørgsler og BeautifulSoup-biblioteker

Med Python programmeringsmiljø godt konfigureret, kan du nu oprette en ny fil (f.eks. Ved hjælp af nano) med ethvert navn, du kan lide.

Med anmodningsbiblioteket kan du bruge en HTTP-form, der kan læses af mennesker, inden for dine Python-programmer, mens BeautifulSoup får skrabet hurtigere. Du kan bruge importmeddelelsen til at hente begge biblioteker.

Sådan samles og analyseres en webside

Brug metoden request.get () til at samle URL'en på den webside, hvorfra du vil udtrække data. Derefter oprettes et BeautifulSoup-objekt eller -parse-træ. Dette objekt tager dokumentet fra Anmodninger som dets argumenter og analyserer det derefter. Med siden samlet, parset og konfigureret som et BeautifulSoup-objekt kan du derefter fortsætte med at indsamle de data, du har brug for.

Uddrag af den ønskede tekst fra den parsede webside

Hver gang du vil indsamle webdata, skal du vide, hvordan disse data er beskrevet af dokumentobjektmodellen (DOM) på websiden. I din webbrowser skal du højreklikke (hvis du bruger Windows) eller CTRL + klik (hvis du bruger macOS) på et af de elementer, der udgør en del af de interessante data. Hvis du f.eks. Vil hente data om studerendes nationalitet, skal du klikke på et af navnene på en studerende. En kontekstmenu dukker op, og inden for den ser du et menupunkt, der ligner Inspect Element (for Firefox) eller Inspect (for Chrome). Klik på det relevante Inspekt-menupunkt, og værktøjet til webudvikler vises i din browser.

BeautifulSoup er et simpelt, men alligevel kraftigt HTML-parsingsværktøj, der giver dig meget fleksibilitet, når du skraber websteder . Når du bruger det, skal du ikke glemme at overholde generelle skrabningsregler, såsom at kontrollere webstedets vilkår og betingelser; revision af webstedet regelmæssigt og opdatering af din kode pr. ændringer, der er foretaget på webstedet. Når du har denne viden om at skrabe websteder med Python og BeautifulSoup, kan du nu nemt få de webdata, du har brug for til dit projekt.

mass gmail