Arbeta med Specifika Element
Att navigera i ett HTML-dokument med Python-attribut hämtar endast den första förekomsten av ett visst element. Men vad händer om du är intresserad av den första instansen av ett element och inte känner till dess fullständiga sökväg? I sådana fall kan du använda metoden .find()
, där du skickar taggen (utan < >
-parenteser) som en sträng. Till exempel, låt oss hitta det första <div>
-elementet 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"))
Dessutom kan du hämta alla instanser av ett specifikt element genom att använda metoden .find_all()
. Detta ger en lista med instanser. Till exempel, låt oss hitta alla <p>
-taggar 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 också använda metoden .find_all()
för att hitta inte bara en utan flera taggar genom att ange en lista med taggar. Till exempel, samla alla <div>
- och <title>
-element.
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)
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Arbeta med Specifika Element
Svep för att visa menyn
Att navigera i ett HTML-dokument med Python-attribut hämtar endast den första förekomsten av ett visst element. Men vad händer om du är intresserad av den första instansen av ett element och inte känner till dess fullständiga sökväg? I sådana fall kan du använda metoden .find()
, där du skickar taggen (utan < >
-parenteser) som en sträng. Till exempel, låt oss hitta det första <div>
-elementet 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"))
Dessutom kan du hämta alla instanser av ett specifikt element genom att använda metoden .find_all()
. Detta ger en lista med instanser. Till exempel, låt oss hitta alla <p>
-taggar 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 också använda metoden .find_all()
för att hitta inte bara en utan flera taggar genom att ange en lista med taggar. Till exempel, samla alla <div>
- och <title>
-element.
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)
Tack för dina kommentarer!