Найти тег html с одним и только одним атрибутом с BeautifulSoup - PullRequest
0 голосов
/ 26 марта 2020

У меня есть html -сайт, с которого я хочу почистить некоторые данные. html выглядит следующим образом:

<p class="provice hidden-xs">
<span class="provice-mobile">NEW YORK</span>
witespace
<span class="provice-mobile" style="color: #8888 !important">UNION</span>
</p>

Я просто хочу выбрать «НЬЮ-ЙОРК», и я попробовал этот код:

 city = soup.find('span', attrs={'class':'provice-mobile'})

city.text также включает "UNION" , но я просто хочу увидеть тег span, который имеет только атрибут:

'class': 'provice-mobile

1 Ответ

0 голосов
/ 26 марта 2020

Если я правильно понимаю ваш вопрос, вы ищете теги span, чей атрибут only равен class = "provice-mobile. Я предлагаю вам начать с поиска всех тегов, имеющих этот атрибут, а затем отсортировать те, которые имеют более одного атрибута, то есть сохранить теги только с одним атрибутом.

Код для выполнения sh это может выглядеть так:

results = soup.findAll('span', attrs = {'class':'provice-mobile'})
results = [tag for tag in results if len(tag.attrs) == 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...