Semalt Expert: Python og BeautifulSoup. Skafa vefi með vellíðan

Þegar þú framkvæmir gagnagreiningar eða vélanámsverkefni gætirðu þurft að skafa vefsíður til að fá þau gögn sem þarf og ljúka verkefninu. Python forritunarmálið er með öflugt safn verkfæra og eininga sem hægt er að nota í þessum tilgangi. Til dæmis er hægt að nota BeautifulSoup eininguna fyrir HTML þáttun.

Hérna skoðum við BeautifulSoup og komumst að því hvers vegna það er nú notað svo mikið í vefskrapun .

Fallegir aðgerðir

- Það býður upp á ýmsar aðferðir til að auðvelda siglingar, leita og breyta flokka trjáa og þannig gerir þér kleift að greina skjal auðveldlega og vinna allt sem þú þarft án þess að skrifa of mikið af kóða.

- Það breytir sendum skjölum sjálfkrafa yfir í UTF-8 og komandi skjöl í Unicode. Þetta þýðir að þú þarft ekki að hafa áhyggjur af kóðun að því tilskildu að skjalið hafi tilgreint kóðun eða Falleg súpa getur sjálfkrafa greint það.

- BeautifulSoup er álitið yfirburði annarra vinsælra Python-pars, svo sem html5lib og lxml. Það gerir kleift að prófa mismunandi aðgreiningaraðferðir. Einn ókostur þessa einingar er hins vegar sá að það veitir meiri sveigjanleika á kostnað hraðans.

Hvað þarftu að skafa vefsíðu með BeautifulSoup?

Til að byrja að vinna með BeautifulSoup þarftu að setja Python forritunarumhverfi (annað hvort staðbundið eða miðlara) á vélinni þinni. Python er venjulega fyrirfram sett upp í OS X, en ef þú notar Windows þarftu að hlaða niður og setja upp tungumálið af opinberu vefsíðunni.

Þú ættir að hafa BeautifulSoup og Requests einingarnar settar upp.

Að síðustu, það er örugglega gagnlegt að vera kunnugur og þægilegur að vinna með HTML merkingu og uppbyggingu þar sem þú munt vinna með gögn frá vefnum.

Flytja inn beiðnir og BeautifulSoup bókasöfn

Með Python forritunarumhverfi vel sett upp geturðu nú búið til nýja skrá (til dæmis með nano) með hvaða nafni sem þú vilt.

Beiðnissafnið gerir þér kleift að nota HTTP form sem hægt er að lesa af í Python forritunum þínum á meðan BeautifulSoup fær skafa á meiri hraða. Þú getur notað innflutningsyfirlitið til að fá bæði bókasöfnin.

Hvernig á að safna og flokka vefsíðu

Notaðu aðferðin request.get () til að safna vefslóð vefsíðu sem þú vilt draga gögn úr. Næst skaltu búa til BeautifulSoup hlut eða greina tré. Þessi hlutur tekur skjalið frá Beiðnir sem rök sín og flokka það síðan. Þegar síðunni er safnað, sundrað og sett upp sem BeautifulSoup hlutur geturðu síðan haldið áfram að safna gögnum sem þú þarft.

Útdráttur textans sem óskað er eftir er brotinn af vefsíðu

Alltaf þegar þú vilt safna vefgögnum þarftu að vita hvernig þeim gögnum er lýst með skjalamót fyrirmyndar (DOM) vefsíðunnar. Hægrismelltu (ef þú notar Windows) í vafranum þínum, eða CTRL + smelltu (ef þú notar macOS) á eitt af hlutunum sem eru hluti af gögnum sem vekur áhuga. Til dæmis, ef þú vilt draga fram gögn um þjóðerni námsmanna, smelltu á eitt af nöfnum námsmannsins. Samhengisvalmynd birtist og innan hennar sérðu valmyndaratriðið svipað Inspect Element (fyrir Firefox) eða Inspect (fyrir Chrome). Smelltu á viðkomandi Skoðaðu valmyndaratriðið og verkfæri vefur verktaki munu birtast í vafranum þínum.

BeautifulSoup er einfalt en öflugt túlkunartæki fyrir HTML sem gerir þér kleift að ná miklum sveigjanleika þegar þú skrapir vefsíður . Þegar þú notar það skaltu ekki gleyma að fylgja almennum skrapunarreglum eins og að athuga skilmála vefsíðunnar; endurskoða síðuna reglulega og uppfæra kóðann þinn samkvæmt breytingunum sem gerðar eru á vefnum. Með þessari þekkingu um að skafa vefsíður með Python og BeautifulSoup geturðu nú auðveldlega fengið vefgögnin sem þú þarft fyrir verkefnið þitt.