Back to Question Center
0

Fakulo Semalt: Python kaj BeautifulSoup. Skrapi Lokojn Kun Facileco

1 answers:

Kiam plenumanta datuman analizon aŭ maŝinajn lernantajn projektojn, Vi eble devas scrape retejoj por akiri la datumoj bezonataj kaj kompletigas vian projekton. Python-programlingvo havas potencan kolekton de iloj kaj moduloj, kiuj povas esti uzataj por ĉi tiu celo. Ekzemple vi povas uzi la modulon de BeautifulSoup por HTML-analizado.

Ĉi tie, ni rigardos BeautifulSoup kaj ekscios kial ĝi nun estas tiel vaste uzata en retejo-skrapado .

BeautifulSoup trajtoj

- Ĝi provizas diversajn metodojn por facila navigado, serĉado kaj modifado de parseboj, tial ebligas al vi facile diskonigi dokumenton kaj ĉerpi ĉion, kion vi bezonas sen skribi tro da kodo.

- Ĝi aŭtomate konvertas enskribajn dokumentojn al UTF-8 kaj venantaj dokumentoj al Unikodo. Ĉi tio signifas, ke vi ne devos zorgi pri kodigoj kondiĉe ke la dokumento specifis kodigon aŭ Belan Supon povas aŭtomate uzi ĝin.

- BeautifulSoup estas konsiderata pli alta ol aliaj popularaj Python-analiziloj kiel ekzemple html5lib kaj lxml. Ĝi permesas provi malsamajn analizajn strategiojn. Malfacilaĵo de ĉi tiu modulo, tamen, estas ke ĝi havigas pli flekseblecon koste de rapido.

Kion vi bezonas skrapi retejo kun BeautifulSoup?

Por komenci labori kun BeautifulSoup, vi devas havi Python-programadon (aŭ loka aŭ servilo-bazita) instalita sur via maŝino. Python kutime estas antaŭ-instalita en VIN 10a, sed se vi uzas Windows, vi devas elŝuti kaj instali la lingvon de la oficiala retejo.

Vi devus havi instalitajn modulojn de BeautifulSoup kaj Petoj.

Finfine, estante familiara kaj komforta laborado kun HTML-etikedo kaj strukturo estas sendube utila, ĉar vi laboros kun retpaĝaj datumoj.

Importaj Petoj kaj BeautifulSoup-bibliotekoj

Kun Python-programado-medio tre bone starigis, vi nun povas krei novan dosieron (uzante nano, ekzemple) kun iu ajn nomo, kiun vi ŝatas.

La Peta biblioteko ebligas al vi uzi human-legeblan formon HTTP ene de viaj Python-programoj dum BeautifulSoup ricevas la frapantaĵon farita pli rapide. Vi povas uzi la importan komunikaĵon por akiri ambaŭ bibliotekojn.

Kiel kolekti kaj parĉi retpaĝon

Uzu la petojn. get

metodo por kolekti la URL de la retpaĝaro, de kiu vi volas ĉerpi datumojn. Tuj poste kreu belecan objekton aŭ parsebran arbon. Ĉi tiu objekto prenas la dokumenton de Petoj kiel ĝiaj argumentoj kaj poste analizas ĝin. Kun la paĝo kolektita, analizita kaj starigita kiel bela objekto, vi povas poste kolekti la datumojn, kiujn vi bezonas.

Elprenante la deziratan tekston de la paĝo analizita

Kie ajn vi volas kolekti retojn de datumoj, vi devas scii, kiel tiu dokumento priskribas la Document Object Model (DOM) de la retejo. En via retumilo, dekstra klaku (se uzu Vindozon), aŭ CTRL + klaku (se vi uzas macOS) sur unu el la eroj formantaj parton de la datumoj de intereso. Ekzemple, se vi volas forigi datumojn pri la nacioj de studentoj, alklaku unu el la nomoj de studento. Kunteksta menuo aperas kaj ene de ĝi, vi vidos menueron simila al Inspekta Elemento (por Firefox) aŭ Inspektu (por Chrome). Alklaku la rilatajn Elektan menuon, kaj la TTT-programaj iloj aperos en via retumilo.

BeautifulSoup estas simpla ankoraŭ potenca HTML-analizilo, kiu ebligas al vi multan flekseblecon kiam frapantaj retejoj . Kiam vi uzas ĝin, ne forgesu observi ĝeneralajn skrapajn regulojn kiel kontrolanta la Tondiĉojn kaj Kondiĉojn de la retejo; reviziante la retejon regule kaj ĝisdatigante vian kodon laŭ la ŝanĝoj faritaj en la retejo. Havante ĉi tiun scion pri frapantaj retejoj kun Python kaj BeautifulSoup, vi nun povas facile akiri la retpaĝajn datumojn, kiujn vi bezonas por via projekto.

December 22, 2017
Fakulo Semalt: Python kaj BeautifulSoup. Skrapi Lokojn Kun Facileco
Reply