Извлечь элемент без атрибута класса - PullRequest
21 голосов
/ 30 января 2012

Мне нужно перейти к элементу HTML определенного типа. Однако на странице есть много таких элементов этого типа, с множеством разных классов.

Мне нужен тот, у которого нет атрибута класса .

Стоит ли искать один с class == '', или есть какой-то другой способ?

Ответы [ 2 ]

41 голосов
/ 30 января 2012

Использовать

soup.findAll(attrs={'class': None})

Цитирование из документов:

Вы можете использовать attrs, если вам нужно наложить ограничения на атрибуты, имена которых являются зарезервированными для Python словами, такими как class, для,или импорт;или атрибуты, чьи имена не являются аргументами без ключевых слов для методов поиска Beautiful Soup: name, recursive, limit, text или attrs.

6 голосов
/ 27 февраля 2017

Начиная с Beautiful Soup версии 4.1.2 , вы можете использовать ключевое слово class_ .

Чтобы выбрать элемент без атрибута класса, вы можете просто указать None:

soup.find_all(class_=None)

В качестве альтернативы можно указать False:

soup.find_all(class_=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...