Найти Href на основе указанного c текста в атрибуте имени тега - PullRequest
0 голосов
/ 29 января 2020
<a class="cscore_link"  name="&lpos=house:schedule:final" href="https://www.url.com-2019-20">

В html имеется несколько классов cscore_link, но значение атрибута name отличается. Мне нужно получить значение href для всего класса cscore_link, где значение name имеет подстроку final

Ответы [ 2 ]

1 голос
/ 29 января 2020

Если у вас есть Красивый суп 4.7.1 или выше, вы можете использовать следующий css селектор, чтобы найти name содержит final.

print(soup.select(".cscore_link[name*='final']"))

Или Вы можете проверить, что имя заканчивается на final .

print(soup.select(".cscore_link[name$='final']"))
1 голос
/ 29 января 2020

Используйте Regex.

Пример:

import re
from bs4 import BeautifulSoup

html = """<a class="cscore_link"  name="&lpos=house:schedule:final" href="https://www.url.com-2019-20"></a>
<a class="cscore_link"  name="&lpos=house:schedule" href="https://www.url.com-2019-20"></a>
"""

soup = BeautifulSoup(html, 'html.parser')
print(soup.find_all('a', {'class':'cscore_link', 'name': re.compile(r":final\b")})) 

Выход:

[<a class="cscore_link" href="https://www.url.com-2019-20" name="&amp;lpos=house:schedule:final"></a>]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...