根据a标签的name属性中的特定文本查找Href

时间:2020-01-29 13:39:05

标签: python beautifulsoup

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

cscore_link中有html的多个类,但是name属性的值不同。我需要获取所有cscore_link类的href值,其中name的值具有final

的子字符串

2 个答案:

答案 0 :(得分:1)

使用正则表达式。

例如:

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>]

答案 1 :(得分:1)

如果您有漂亮汤4.7.1或更高版本,则可以使用以下CSS选择器来查找name包含final的内容。

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

或者您可以检查名称以final结尾。

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