Робота з Конкретними Елементами
Навігація по HTML-документу за допомогою атрибутів Python дозволяє отримати лише перше входження певного елемента. Але що робити, якщо вас цікавить саме перший екземпляр елемента, і ви не знаєте його повний шлях? У таких випадках можна скористатися методом .find()
, передаючи тег (без дужок < >
) як рядок. Наприклад, знайдемо перший елемент <div>
у HTML-документі.
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"))
Крім того, можна отримати всі екземпляри певного елемента, використовуючи метод .find_all()
. Це поверне список екземплярів. Наприклад, знайдемо всі теги <p>
у HTML-документі.
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"))
Можна також використовувати метод .find_all()
, щоб знаходити не лише один, а декілька тегів, передаючи список тегів. Наприклад, зберемо всі елементи <div>
та <title>
.
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)
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Робота з Конкретними Елементами
Свайпніть щоб показати меню
Навігація по HTML-документу за допомогою атрибутів Python дозволяє отримати лише перше входження певного елемента. Але що робити, якщо вас цікавить саме перший екземпляр елемента, і ви не знаєте його повний шлях? У таких випадках можна скористатися методом .find()
, передаючи тег (без дужок < >
) як рядок. Наприклад, знайдемо перший елемент <div>
у HTML-документі.
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"))
Крім того, можна отримати всі екземпляри певного елемента, використовуючи метод .find_all()
. Це поверне список екземплярів. Наприклад, знайдемо всі теги <p>
у HTML-документі.
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"))
Можна також використовувати метод .find_all()
, щоб знаходити не лише один, а декілька тегів, передаючи список тегів. Наприклад, зберемо всі елементи <div>
та <title>
.
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)
Дякуємо за ваш відгук!