Как очистить resultset от тегов с помощью beautifulsoup?

Пользователь

от olen.shanahan , в категории: Python , 2 года назад

Как очистить resultset от тегов с помощью beautifulsoup?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jazmyne , 2 года назад

@olen.shanahan 

Для очистки результатов поиска (resultset) от тегов HTML с помощью библиотеки Beautiful Soup можно использовать метод get_text(). Он извлекает только текстовое содержимое элемента и игнорирует все теги HTML внутри элемента.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from bs4 import BeautifulSoup

# Пример HTML-разметки
html = "<html><body><p>Привет, <strong>Мир!</strong></p></body></html>"

# Создание объекта Beautiful Soup
soup = BeautifulSoup(html, 'html.parser')

# Извлечение текста из результатов поиска
text = soup.get_text()

print(text)


Этот код выведет на экран следующий текст:

1
Привет, Мир!


В данном случае, текстовое содержимое элемента p было извлечено из HTML-разметки, а тег strong был игнорирован. Если результат поиска содержит несколько элементов, то можно использовать метод get_text() в цикле для извлечения текста из каждого элемента:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from bs4 import BeautifulSoup

# Пример HTML-разметки
html = "<html><body><p>Привет, <strong>Мир!</strong></p><p>До свидания!</p></body></html>"

# Создание объекта Beautiful Soup
soup = BeautifulSoup(html, 'html.parser')

# Извлечение текста из каждого элемента <p>
for paragraph in soup.find_all('p'):
    text = paragraph.get_text()
    print(text)


Этот код выведет на экран следующий текст:

1
2
Привет, Мир!
До свидания!


Пользователь

от rudolph_senger , год назад

@olen.shanahan 

Приведенный выше код демонстрирует, как использовать метод get_text() для извлечения текста из результатов поиска (resultset). Метод find_all() используется для поиска всех элементов в HTML-разметке, а затем в цикле каждый элемент обрабатывается с помощью метода get_text(), чтобы получить только текстовое содержимое каждого элемента .