Как различить два элемента с одинаковым именем класса - PullRequest
0 голосов
/ 28 декабря 2018

Я пытался настроить таргетинг на a.nostyle в своем коде, однако, когда я это делаю, он иногда получает указанное выше электронное письмо, так как они имеют одинаковые теги.Я не могу найти какие-либо теги, уникальные для номера телефона.Как бы вы поступили так?

СМОТРИТЕ ИЗОБРАЖЕНИЕ НИЖЕ.Любая помощь будет принята с благодарностью.

enter image description here

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Вы можете попробовать

a.nostyle:not([itemprop])

ОБНОВЛЕНИЕ

Поскольку кажется, что BeautifulSoup не поддерживает синтаксис :not(), вы можете попробовать обходной путь

link = [link for link in soup.select('a.nostyle') if 'itemprop' not in link.attrs][0]

для выбора ссылки с обязательным атрибутом class, который не содержит атрибута itemprop (как email ссылка)

0 голосов
/ 28 декабря 2018

Вы можете составить список, содержащий все теги «а».Затем вы можете выбрать целевой тег, используя индексные номера

Пример

allATagContainer = soup.findAll("a")

, затем вы можете использовать allATagContainer [1] для второй целевой метки.

...