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-теги вимагають обов'язкових атрибутів, наприклад, тег посилання потребує атрибут href, а тег <img> — атрибут src. Для доступу до конкретного атрибута використовуйте метод .get() після .attrs. Наприклад, отримання всіх атрибутів src з усіх елементів <img>.

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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

Ви також можете зустріти атрибут id, який часто використовується для розрізнення елементів з однаковим тегом. Для пошуку елементів із певними значеннями атрибутів передайте їх у вигляді словника у форматі attr_name: attr_value до методу .find_all() одразу після вказання тегу. Наприклад, знайти всі елементи <div> з атрибутом class, що дорівнює "box", або елемент <p> з атрибутом "id", що має значення "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

Метод .find() використовується замість .find_all() для отримання елемента за його id, оскільки id є унікальним ідентифікатором і не може повторюватися. Щоб переконатися, що були отримані лише певні елементи <div>, перевірте класи, призначені цим елементам <div>.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Все було зрозуміло?

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 4.35

bookРозширений пошук

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

Деякі HTML-теги вимагають обов'язкових атрибутів, наприклад, тег посилання потребує атрибут href, а тег <img> — атрибут src. Для доступу до конкретного атрибута використовуйте метод .get() після .attrs. Наприклад, отримання всіх атрибутів src з усіх елементів <img>.

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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

Ви також можете зустріти атрибут id, який часто використовується для розрізнення елементів з однаковим тегом. Для пошуку елементів із певними значеннями атрибутів передайте їх у вигляді словника у форматі attr_name: attr_value до методу .find_all() одразу після вказання тегу. Наприклад, знайти всі елементи <div> з атрибутом class, що дорівнює "box", або елемент <p> з атрибутом "id", що має значення "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

Метод .find() використовується замість .find_all() для отримання елемента за його id, оскільки id є унікальним ідентифікатором і не може повторюватися. Щоб переконатися, що були отримані лише певні елементи <div>, перевірте класи, призначені цим елементам <div>.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
Все було зрозуміло?

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

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

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