Текст внутри BR не извлекается с помощью Python Beautifulsoup

1

Я хотел бы получить все данные внутри div под тегами br. однако это только выборка текста на первом.

<div itemprop="description">

<p>Chars :
</br>- test1 
</br>- test2 
</br>- test3
</p>

</div>

сценарий:

tag = soup.find(itemprop="description").get_text()

выход:

Chars
-test1

Я хочу получить весь текст внутри б

  • 2
    Проверьте этот вопрос stackoverflow.com/questions/17639031/… BS, как известно, странно взаимодействует с тегами br . Возможны следующие варианты: 1) удалить теги br, такие как str(soup).replace("</br>", "") или использовать другой синтаксический анализатор: soup = BeautifulSoup(page, 'lxml') (второй вариант хорошо сработал для меня)
  • 0
    спасибо, что это решило мою проблему.
Теги:
web-scraping
beautifulsoup

1 ответ

0
Лучший ответ

У меня не было проблем с lxml и выберите

from bs4 import BeautifulSoup as bs
html = '''
<div itemprop="description">

<p>Chars :
</br>- test1 
</br>- test2 
</br>- test3
</p>

</div>
'''
soup = bs(html, 'lxml')
data = [item.text.strip().replace('\n',' ') for item in soup.select('div[itemprop=description]')]
print(data)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню