Arbejde med Specifikke Elementer
Navigering i et HTML-dokument ved hjælp af Python-attributter vil kun hente den første forekomst af et bestemt element. Men hvad nu, hvis du er interesseret i den første forekomst af et element og ikke kender hele stien? I sådanne tilfælde kan du benytte metoden .find(), hvor du angiver tagget (uden < >-parenteser) som en streng. For eksempel kan vi finde det første <div>-element i HTML-dokumentet.
123456789101112# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
Derudover kan du hente alle forekomster af et bestemt element ved at anvende metoden .find_all(). Dette vil returnere en liste af forekomster. For eksempel kan vi finde alle <p>-tags i HTML-dokumentet.
123456789101112# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
Du kan også bruge metoden .find_all() til at finde ikke kun én, men flere tags ved at angive en liste af tags. For eksempel kan du indsamle alle <div>- og <title>-elementer.
12345678910111213# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for el in soup.find_all(["div", "title"]): print(el)
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the difference between .find() and .find_all() in BeautifulSoup?
How can I extract the text content from the elements found?
What other methods can I use to search for elements in BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Arbejde med Specifikke Elementer
Stryg for at vise menuen
Navigering i et HTML-dokument ved hjælp af Python-attributter vil kun hente den første forekomst af et bestemt element. Men hvad nu, hvis du er interesseret i den første forekomst af et element og ikke kender hele stien? I sådanne tilfælde kan du benytte metoden .find(), hvor du angiver tagget (uden < >-parenteser) som en streng. For eksempel kan vi finde det første <div>-element i HTML-dokumentet.
123456789101112# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
Derudover kan du hente alle forekomster af et bestemt element ved at anvende metoden .find_all(). Dette vil returnere en liste af forekomster. For eksempel kan vi finde alle <p>-tags i HTML-dokumentet.
123456789101112# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
Du kan også bruge metoden .find_all() til at finde ikke kun én, men flere tags ved at angive en liste af tags. For eksempel kan du indsamle alle <div>- og <title>-elementer.
12345678910111213# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for el in soup.find_all(["div", "title"]): print(el)
Tak for dine kommentarer!