Back to Question Center
0

Semalt Expert: Python og BeautifulSoup. Skrabe websteder med lethed

1 answers:
Når du udfører dataanalyse eller maskinlæringsprojekter, skal du måske skrabe websteder for at få det de nødvendige data og afslutte dit projekt. Python programmeringssprog har en kraftfuld samling af værktøjer og moduler, der kan bruges til dette formål. Du kan f.eks. Bruge BeautifulSoup-modulet til HTML-parsing.

Her skal vi kigge på BeautifulSoup og finde ud af, hvorfor det nu bruges så meget i webskrabning - noleggio attrezzi per palestra.

BeautifulSoup-funktioner

- Det giver forskellige metoder til nem navigation, søgning og modifikation af parse træer, så du nemt kan dissekere et dokument og udtrække alt hvad du behøver uden at skrive for meget kode.

- Den konverterer automatisk udgående dokumenter til UTF-8 og indgående dokumenter til Unicode. Dette betyder at du ikke behøver at bekymre sig om kodninger, forudsat at dokumentet har angivet en kodning eller Beautiful Soup, kan autodetektere det.

- BeautifulSoup anses for at være bedre end andre populære Python-parsere som html5lib og lxml. Det giver mulighed for at prøve forskellige parsingsstrategier. En ulempe ved dette modul er imidlertid, at det giver større fleksibilitet på bekostning af hastigheden.

Hvad har du brug for at skrabe hjemmesiden med BeautifulSoup?

For at begynde at arbejde med BeautifulSoup skal du have Python programmeringsmiljø (enten lokalt eller serverbaseret), der er oprettet på din maskine. Python er normalt forudinstalleret i OS X, men hvis du bruger Windows, skal du downloade og installere sproget fra den officielle hjemmeside.

Modulerne BeautifulSoup and Requests skal installeres.

Endelig er at være bekendt og komfortabel at arbejde med HTML-tagging og -struktur helt sikkert nyttigt, da du arbejder med web-hentede data.

Importere anmodninger og BeautifulSoup-biblioteker

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

Forespørgselsbiblioteket giver dig mulighed for at bruge en HTTP-læsbar formular i dine Python-programmer, mens BeautifulSoup får skrabet færdigt hurtigere. Du kan bruge importopgørelsen til at få begge biblioteker.

Sådan indsamles og analyseres en webside

Brug anmodningerne. get

metode til at indsamle webadressen på den webside, hvorfra du vil udtrække data. Derefter opretter du en BeautifulSoup-objekt eller analyserer træet. Dette objekt tager dokumentet fra Anmodninger som dets argumenter og analyserer det derefter. Med den indsamlede side, analyseret og oprettet 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 analyserede webside

Når du vil indsamle webdata, skal du vide, hvordan disse data beskrives af DOMs dokumentobjektmodel (DOM). I din webbrowser skal du højreklikke (hvis du bruger Windows) eller CTRL + klik (hvis du bruger macOS) på et af de elementer, der indgår i dataene af interesse. For eksempel, hvis du vil trække data om elevernes nationaliteter, skal du klikke på en af ​​navnene på en elev. En kontekstmenu dukker op, og i den ser du et menupunkt svarende til Inspect Element (for Firefox) eller Inspect (for Chrome). Klik på det relevante Inspect menupunkt, og webudviklerens værktøjer vises i din browser.

BeautifulSoup er et simpelt, men kraftfuldt HTML-parsingsværktøj, der giver dig stor fleksibilitet, når du scrapper websites . Når du bruger det, skal du ikke glemme at overholde generelle skrabebestemmelser, som f.eks. At kontrollere hjemmesidens vilkår og betingelser; regelmæssigt at revidere webstedet og opdatere din kode som de ændringer, der er foretaget på webstedet. Med denne viden om at skrabe hjemmesider med Python og BeautifulSoup, kan du nu nemt få de webdata, du har brug for til dit projekt.

December 22, 2017