Pytonorm

En nybörjarguide för webbskrapning med Python och vacker soppa

En nybörjarguide för webbskrapning med Python och vacker soppa

Internet är den heltäckande och ultimata källan till all information som finns. Den snabba utveckling som internet har sett under de senaste tre decennierna har varit utan motstycke. Som ett resultat monteras webben med hundratals terabyte data varje dag som går.

All denna information har något värde för en viss person. Till exempel har din webbhistorik betydelse för sociala medieappar, eftersom de använder den för att anpassa de annonser de visar dig. Och det finns också mycket konkurrens för denna information; några MB-filer mer av vissa data kan ge företag en betydande fördel i förhållande till konkurrensen.

Datautvinning med Python

För att hjälpa de av er som är nya för dataskrapning har vi förberett den här guiden där vi visar hur man skrapar data från webben med hjälp av Python och Beautiful soup Library.

Vi antar att du redan har mellanliggande kunskap med Python och HTML, eftersom du kommer att arbeta med båda dessa enligt instruktionerna i den här guiden.

Var försiktig med vilka webbplatser du testar dina nyvunna data mining-färdigheter på, eftersom många webbplatser anser att detta är påträngande och vet att det kan få återverkningar.

Installera och förbereda biblioteken

Nu ska vi använda två bibliotek som vi ska använda: pythons begäranbibliotek för att ladda innehåll från webbsidor och det vackra soppbiblioteket för den faktiska skrapningen av processen. Det finns alternativ till BeautifulSoup, kom ihåg, och om du känner till något av följande, använd gärna dessa istället: Scrappy, Mechanize, Selen, Portia, kimono och ParseHub.

Förfrågningsbiblioteket kan laddas ner och installeras med pip-kommandot enligt:

# pip3 installationsförfrågningar

Förfrågningsbiblioteket ska installeras på din enhet. Ladda ner på samma sätt också BeautifulSoup:

# pip3 installera beautifulsoup4

Med det är våra bibliotek redo för några åtgärder.

Som nämnts ovan har förfrågningsbiblioteket inte mycket annat än att hämta innehållet från webbsidor. BeautifulSoup-biblioteket och förfrågningsbiblioteken har en plats i varje skript som du ska skriva, och de måste importeras före varje på följande sätt:

$ importförfrågningar
$ från bs4 importera BeautifulSoup som bs

Detta lägger till det önskade nyckelordet i namnområdet och signalerar till Python nyckelordets betydelse när användningen uppmanas. Samma sak händer med sökordet bs, men här har vi fördelen att tilldela ett enklare nyckelord för BeautifulSoup.

webbsida = förfrågningar.få (URL)

Koden ovan hämtar webbsidans URL och skapar en direkt sträng ur den och lagrar den i en variabel.

$ webcontent = webbsida.innehåll

Kommandot ovan kopierar webbsidans innehåll och tilldelar dem till det variabla webbinnehållet.

Med det är vi klara med begäran biblioteket. Allt som finns kvar att göra är att ändra förfrågningsbibliotekets alternativ till BeautifulSoup-alternativ.

$ htmlcontent = bs (webbinnehåll, “html.parser “)

Detta analyserar förfrågningsobjektet och gör det till läsbara HTML-objekt.

Med allt tagit hand om kan vi gå vidare till själva skrapbiten.

Webbskrapning med Python och BeautifulSoup

Låt oss gå vidare och se hur vi kan skrapa data HTML-objekt med BeautifulSoup.

För att illustrera ett exempel, medan vi förklarar saker, kommer vi att arbeta med detta html-kodavsnitt:

Vi kan komma åt innehållet i detta utdrag med BeautifulSoup och använda det på HTML-innehållsvariabeln enligt:


Koden ovan söker efter eventuella taggar

, och visar det för användaren. Om den hittar fler än en tagg visar den dem en i taget:

Teknologi

För att samtidigt spara taggarna

till en lista, skulle vi utfärda den slutliga koden enligt:

Utgången ska återvända så här:

Att kalla till en av de

taggar, indexera listan och ta den du vill ha.

Låt oss nu se hur man väljer ut

taggar som håller deras egenskaper i perspektiv. För att separera a
, vi skulle behöva
taggar med attributet "Tech_head". Ange följande kod:


för div i soppa.find_all ('div', attrs = 'class' = 'Tech_head'):

Detta hämtar

märka.

Du skulle få:

Teknologi

Allt utan taggar.

Slutligen kommer vi att beskriva hur man väljer ut attributets värde i en tagg. Koden ska ha den här taggen:

lady

För att utföra värdet som är associerat med attributet src, använder du följande:

htmlinnehåll.hitta ("img") ["src"]

Och produktionen skulle visa sig som:

"images_4 / a-nybörjarguide-till-webb-skrapning-med-python-och-vacker-soppa.jpg "

Åh pojke, det är verkligen mycket arbete!

Om du känner att din bekantskap med python eller HTML är otillräcklig eller om du helt enkelt är överväldigad av webbskrapning, oroa dig inte.

Om du är ett företag som behöver förvärva en viss typ av data regelbundet men inte själv kan skrapa webben, finns det sätt att kringgå detta problem. Men vet att det kommer att kosta lite pengar. Du kan hitta någon som gör skrapningen åt dig, eller så kan du få premiumdatatjänsten från webbplatser som Google och Twitter för att dela data med dig. Dessa delar delar av deras data genom att använda API: er, men dessa API-samtal är begränsade per dag. Bortsett från det kan webbplatser som dessa vara mycket skyddande för deras data. Vanligtvis delar många sådana webbplatser inte någon av deras data alls.

Slutgiltiga tankar

Innan vi avslutar, låt mig berätta högt om det inte redan har varit självklart; kommandona find (), find_all () är dina bästa vänner när du är ute och skrapar med BeautifulSoup. Även om det finns mycket mer att täcka för att skrapa dataskrapning med Python, bör den här guiden vara tillräckligt för de av er som just har börjat.

Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...
Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...

Senaste artiklarna om operativsystem. Massor av intressanta guider och användbara tips. Känn dig som din egen i modern teknik