Semalt - Hvordan skrape websider?

Beautiful Soup er et Python-bibliotek som er mye brukt til å skrape nettsider ved å lage et analysetre fra XML- og HTML-dokumenter. Webskraping, en teknikk for å trekke ut data fra nettsteder og sider, er mye brukt i felt for dataanalyse og styring. I de fleste tilfeller er Python programmeringsspråk en forutsetning innen datavitenskap.

Python 3 har skrapeverktøy og moduler du kan bruke på datahåndteringsprosjektet ditt. For tiden som Beautiful Soup 4, er denne modulen kompatibel med både Python 3 og Python 2.7. Vakre suppe 4-modulen er også i stand til å lage et prøvestre for suppe som ikke er lukket. I denne opplæringen lærer du hvordan du skraper siden og skriver de skrapede dataene til en CSV-fil.

Starter

For å komme i gang, sett opp en server eller et lokalt basert Python-kodingsmiljø på PCen. Du må også installere Beautiful Soup and Requests-modulen på maskinen din. Kunnskap om å jobbe med begge modulene er også en nødvendig forutsetning. Kjennskap til HTML-tagging og struktur er også en ekstra fordel.

Forstå dataene dine

I denne sammenhengen vil ekte data fra National Gallery of Art brukes for å hjelpe deg med å forstå hvordan du bruker Beautiful Soup 4. National Gallery of Art består av 120 000 stykker som er utført av omtrent 13 000 kunstnere. The Art er basert i Washington DC, USA.

Nettdataekstraksjon med Beautiful Soup er ikke så komplisert. Hvis du for eksempel fokuserer på bokstav Z, markerer og noterer du fornavnet på listen. I dette tilfellet er fornavnet Zabaglia, Niccola. For konsistens, angi antall sider og navnet på den siste artisten på den siden.

Slik importerer du forespørsler og vakkert suppe-bibliotek

Hvis du vil importere biblioteker, aktiverer du Python 3-programmeringsmiljøet. Kontroller at du er i samme katalog med programmeringsmiljøet. Kjør følgende kommando for å komme i gang. my_env / bin / aktivere.

Lag en ny fil og begynn å importere vakre suppe- og forespørselbiblioteker. Forespørselbibliotek vil tillate deg å bruke HTTP i Python-programmene dine i lesbare formater. Vakker suppe jobber derimot med å skrape sider raskt. Bruk bs4 for å importere vakker suppe.

Hvordan samle og analysere en webside

Bruk forespørsler samle URL til første side. URL-adressen til den første siden tilordnes til variabelen. Bygg et BeautifulSoup-objekt fra forespørsler og analyser objektet fra Pythons analyser.

I denne opplæringen er målet å samle lenker og artistenes navn. For eksempel kan du samle kunstneres datoer og nasjonaliteter. For Windows-brukere høyreklikker du kunstnerens fornavn. I dette tilfellet bruker du Zabaglia, Niccola. For Mac OS-brukere, trykk på "CTRL" og klikk på navnet. Klikk på "Inspiser element" -menyen som viser popup-vinduer på skjermen for å få tilgang til verktøy for nettutviklere. Skriv ut kunstnerens navn slik at Beautiful Soup pares et tre raskt.

Fjerne bunnlenkene

For å fjerne de nederste koblingene på websiden din, inspiser DOM ved å høyreklikke på elementet. Du vil identifisere at koblingene er under en HTML-tabell. Ved hjelp av vakker suppe, bruk "dekomponering metoden" for å fjerne koder fra prøvestreet.

Slik trekker du innhold fra en tag

Du trenger ikke å skrive ut hele koblingen, bruk Vakre suppe for å fjerne materiale fra en kode. Du kan også fange opp nettadresser tilknyttet artistene ved å bruke Beautiful Soup 4.

Fanger skrapede data til en CSV-fil

CSV-fil lar deg lagre strukturerte data i en ren tekst, et format som mest brukes til datablad. Kunnskap om håndtering av vanlige tekstfiler i Python anbefales.

Nettdataekstraksjon brukes til å skrape sider og innhente informasjon. Vær hensynsfull på nettstedene du er utvinningsinformasjon fra. Noen dynamiske nettsteder begrenser utvinning av webdata på nettstedene deres. Å skrape siden med Beautiful Soup og Python 3 er så enkelt.