Атрибути та вміст елемента
Методи, розглянуті в попередніх розділах, повертають певні частини HTML-коду. BeautifulSoup
дозволяє отримувати атрибути та вміст окремих елементів. Для доступу до атрибутів об'єкта використовуйте атрибут .attrs
. Наприклад, можна отримати атрибути першого елемента <div>
.
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").attrs)
Варто зазначити, що результат використання атрибута .attrs
— це словник, у якому ключами є назви атрибутів, а значеннями — їх відповідні значення. Якщо потрібно отримати вміст, що зберігається всередині тегу, використовуйте атрибут .contents. Наприклад, розглянемо вміст першого елемента <div>
.
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").contents)
Як видно вище, усі символи нового рядка були включені до списку елементів, що може бути не найкращим способом представлення вмісту. Якщо потрібно отримати лише текст всередині певного елемента, використовуйте метод .get_text()
. Порівняйте результати з наведеного нижче прикладу з отриманими раніше.
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").get_text())
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What is the difference between .attrs, .contents, and .get_text() in BeautifulSoup?
Can you explain how to use .attrs to get specific attribute values?
How can I extract text from other HTML elements using BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Атрибути та вміст елемента
Свайпніть щоб показати меню
Методи, розглянуті в попередніх розділах, повертають певні частини HTML-коду. BeautifulSoup
дозволяє отримувати атрибути та вміст окремих елементів. Для доступу до атрибутів об'єкта використовуйте атрибут .attrs
. Наприклад, можна отримати атрибути першого елемента <div>
.
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").attrs)
Варто зазначити, що результат використання атрибута .attrs
— це словник, у якому ключами є назви атрибутів, а значеннями — їх відповідні значення. Якщо потрібно отримати вміст, що зберігається всередині тегу, використовуйте атрибут .contents. Наприклад, розглянемо вміст першого елемента <div>
.
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").contents)
Як видно вище, усі символи нового рядка були включені до списку елементів, що може бути не найкращим способом представлення вмісту. Якщо потрібно отримати лише текст всередині певного елемента, використовуйте метод .get_text()
. Порівняйте результати з наведеного нижче прикладу з отриманими раніше.
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").get_text())
Дякуємо за ваш відгук!