Соскоб с неоднозначной метки с помощью Beautifulsoup - PullRequest
1 голос
/ 08 июня 2019

Я хочу извлечь колледж, в котором учился человек.В этом конкретном коде ниже, который я получил после запуска soup.find_all (), чтобы вернуть все теги, колледж - Auburn.Я знаю, что теги отмечают типы компонентов в документах HTML.Таким образом, в этом случае будет ли соответствующий тег, который я ищу,

<a href='../College..."? 

. Если да, то как бы вернуть название колледжа с помощью BeautifulSoup?

<img height="75" id="CollegeLogo" 
id="CollegeCommit" style="color: white; font-size: 22px; 
text-decoration: underline dotted">Auburn</a>
</div>

1 Ответ

0 голосов
/ 08 июня 2019

Использование идентификатора

from bs4 import BeautifulSoup as bs

html = '''
<img height="75" id="ContentPlaceHolder1_img4yearCollegeLogo" 
onerror="this.style.display='none'" src="https://5409b91eba8a3c695263- 
e57580eaf7522c9542febdac7b28f14a.ssl.cf1.rackcdn.com/1566.png"/>
</p><div class="Five"></div>
<a href="../College/CollegeCommitments.aspx?Grad=2012&amp;college=1566" 
id="ContentPlaceHolder1_hl4yearCommit" style="color: white; font-size: 22px; 
text-decoration: underline dotted">Auburn</a>
</div>
'''
soup = bs(html, 'lxml')
href = soup.select_one('#ContentPlaceHolder1_hl4yearCommit')['href']

Менее эффективно, но вы можете сопоставить подстроку атрибута с * содержит, ^ начинается с или $ заканчивается оператором например

href = soup.select_one('[id$=yearCommit]')['href']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...