CoderCastrov logo
CoderCastrov
Парсер

find_all

find_all
просмотров
1 мин чтение
#Парсер

Вместо того, чтобы находить только один тег, вы можете найти все теги с помощью функции find_all. Например, чтобы найти все ссылки на данной веб-странице, вы можете использовать следующий код:

links = soup.find_all("a")
print(links[0]['href'])

Функция find_all принимает тег в качестве аргумента и возвращает список всех тегов. Мы можем получить доступ к ссылке с помощью атрибута 'href'. Результат будет следующим:

'https://www.google.fr/imghp?hl=fr&tab=wi'

Навигация с использованием фильтров

Вот несколько примеров, которые вы можете найти в документации Beautiful Soup для получения дополнительных аргументов. Обратите внимание, что вы можете использовать регулярные выражения для атрибутов.

soup.find_all("title")
# [<title>The Dormouse's story</title>]

soup.find_all("p", "title")
# [<p class="title"><b>The Dormouse's story</b></p>]

soup.find_all("a")
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
#  <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
#  <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

soup.find_all(id="link2")
# [<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>]

import re
soup.find(string=re.compile("sisters"))
# 'Once upon a time there were three little sisters; and their names were\n'