Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Розширений пошук | Робота з атрибутами елементів у Beautiful Soup
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
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

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

Suggested prompts:

Can you explain how the `.get()` method works with attributes in BeautifulSoup?

What other attributes can I filter by using `.find_all()`?

How do I handle elements that don't have the attribute I'm searching for?

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