Semale Expert: Python en BeautifulSoup. Skraap Sites Met Ease
Wanneer u data-ontleding of masjienleerprojekte uitvoer, moet u webwerwe skraap om die data benodig en voltooi jou projek. Python programmeertaal het 'n kragtige versameling gereedskap en modules wat vir hierdie doel gebruik kan word. Byvoorbeeld, jy kan die BeautifulSoup-module gebruik vir HTML-parsering.
Hier kyk ons ​​na BeautifulSoup en vind uit hoekom dit nou so wyd gebruik word in webskrape .
- Dit bied verskeie metodes vir maklike navigasie, soek en wysiging van parse-bome sodat jy maklik 'n dokument kan ontleed en alles wat jy nodig het, onttrek sonder om te veel kode te skryf.
- Dit maak outomaties uitgaande dokumente na UTF-8 en inkomende dokumente na Unicode. Dit beteken dat jy nie bekommerd hoef te wees oor enkoderings nie, mits die dokument 'n enkodering gespesifiseer het of Pragtige Sop kan dit outomaties identifiseer.
- BeautifulSoup word beskou as beter as ander gewilde Python parsers soos html5lib en lxml.Dit kan verskillende parseringstrategieë probeer. Een nadeel van hierdie module is egter dat dit meer buigsaamheid bied ten koste van spoed.
Wat het jy nodig om webwerf met BeautifulSoup te skraap?
Om met BeautifulSoup te begin werk, moet jy Python-programmeringsomgewing (op plaaslike of bedienerbasis) op jou rekenaar opstel.Python is gewoonlik vooraf geïnstalleer in OS X, maar as jy Windows gebruik, moet jy die taal aflaai en installeer vanaf die amptelike webwerf.
Jy moet die BeautifulSoup en Requests-modules geïnstalleer het.
Ten slotte is bekende en gemaklike werk met HTML-kode en -struktuur beslis nuttig aangesien jy met web-gegewens sal werk.
Invoerversoeke en BeautifulSoup-biblioteke
Met Python-programmeringsomgewing wat goed opgestel is, kan jy nou 'n nuwe lêer skep (met behulp van nano byvoorbeeld) met enige naam wat jy wil.
Die Requests-biblioteek stel jou in staat om 'n mens-leesbare vorm HTTP in jou Python-programme te gebruik, terwyl BeautifulSoup die vinniger vinnige skrapping doen.U kan die invoer verklaring gebruik om beide biblioteke te kry.
Gebruik die versoeke. get
metode om die URL van die webblad te versamel waarvan u data wil onttrek. Maak dan 'n BeautifulSoup-voorwerp of parse-boom. Hierdie voorwerp neem die dokument van versoeke as sy argumente en ontleed dit dan. Met die bladsy wat versamel, ontleed en opgestel is as 'n BeautifulSoup-voorwerp, kan jy voortgaan om die data wat jy benodig, te versamel.
Die verlangde teks uit die ontleedde webblad uitpak
Wanneer jy webdata wil versamel, moet jy weet hoe die data beskryf word deur die dokumentobjectmodel (DOM) van die webblad. In u webblaaier, regsklik (as u Windows gebruik) of Ctrl + klik (as u macOS gebruik) op een van die items wat deel uitmaak van die data van belang. As u byvoorbeeld inligting oor studente se nasionaliteite wil uitreik, kliek op een van die name van 'n student. 'N Konteksmenu verskyn, en binne dit sal jy 'n kieslysitem sien wat soortgelyk is aan Inspect Element (vir Firefox) of Inspect (vir Chrome). Klik op die relevante Inspect menu-item, en die web ontwikkelaar gereedskap sal in jou blaaier verskyn.
BeautifulSoup is 'n eenvoudige, maar kragtige HTML parsing instrument wat jou baie buigsaamheid toelaat wanneer webwerwe skraap . Wanneer u dit gebruik, moet u nie vergeet om algemene skrapreëls te onderhou nie, soos om die bepalings en voorwaardes van die webwerf te kontroleer. die webwerf gereeld te hersien en u kode op te dateer volgens die veranderinge op die webwerf. Met hierdie kennis oor die skraap van webwerwe met Python en BeautifulSoup, kan jy nou maklik die webdata kry wat jy nodig het vir jou projek Source .