Извлечь элемент без атрибута класса

Мне нужно перейти к элементу 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)