Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Атрибути та вміст елемента | Робота з Атрибутами Елементів у Beautiful Soup
Web Scraping з Python

bookАтрибути та вміст елемента

Методи, розглянуті раніше, повертають певні частини 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)
copy

Результатом використання властивості .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)
copy

Як видно вище, усі символи нового рядка були включені до списку елементів, що може бути не найкращим способом представлення вмісту. Якщо потрібно отримати лише текст всередині конкретного елемента, використовуйте метод .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())
copy
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

What is the difference between `.attrs`, `.contents`, and `.get_text()` in BeautifulSoup?

Can you explain why `.get_text()` is preferred for extracting text content?

How can I extract attributes and text from other HTML elements, not just `<div>`?

Awesome!

Completion rate improved to 4.35

bookАтрибути та вміст елемента

Свайпніть щоб показати меню

Методи, розглянуті раніше, повертають певні частини 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)
copy

Результатом використання властивості .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)
copy

Як видно вище, усі символи нового рядка були включені до списку елементів, що може бути не найкращим способом представлення вмісту. Якщо потрібно отримати лише текст всередині конкретного елемента, використовуйте метод .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())
copy
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
some-alt