Извлечь элемент без атрибута класса
Мне нужно перейти к элементу html определенного типа.
Однако на странице есть много таких элементов такого типа, с множеством разных классов.
Мне нужен тот, у которого нет атрибута класса.
Должен ли я искать один с class == ''
, или есть какой-то другой способ?
Ответы
Ответ 1
Используйте
soup.findAll(attrs={'class': None})
Цитата из документов:
Вы можете использовать attrs, если вам нужно наложить ограничения на атрибуты, имена которых являются зарезервированными словами Python, например class, for или import; или атрибуты, имена которых не являются ключевыми аргументами для методов поиска Beautiful Soup: имя, рекурсивный, лимит, текст или attrs.
Ответ 2
Как Beautiful Soup version 4.1.2, вы можете использовать class_
аргумент ключевого слова.
Чтобы выбрать элемент без атрибута класса, вы можете просто указать None
:
soup.find_all(class_=None)
В качестве альтернативы также указывается False
:
soup.find_all(class_=False)