Bezdepbonusu7Программирование: статьи и ответы

Вопрос

BeautifulSoup: извлечение атрибутов HTML-тегов

Автор вопроса: rootОтветов: 1

Есть ли способ получить атрибуты HTML-тегов только при text=True без указания тегов.

Пример:

html=<p class="c4">SOMETEXT</p>

Я мог бы сделать:

[tag.attrs for tag in soup.findAll('p')]
>>> [[(u'class', u'c1')]]

Есть ли способ сделать:

[text.attrs for text in soup.findAll(text=True)]

Помогите очень признателен!

pythonhtmlbeautifulsoup

Ответы

Ответ 1 · рейтинг 3 · Jon Clements♦

Думаю, вы хотите этого, поскольку вопрос был выяснен:

[tag.attrs for tag in soup.findAll(True) if tag.string]

.findAll(True) возвращает все теги в документе, поэтому они будут иметь .attr, даже если он пуст, и отфильтровать, если тег имеет .string содержимое.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы