python - Beautiful Soup - 获取包含字符串的参数属性

标签 python html beautifulsoup

假设我们有一个如下所示的 html:

<span title="Sports Football">Football</span>
<span title="Sports Badminton">Tennis</span>
<span title="Sports Ski Jump">Ski Jump</span>

如果 title 属性包含 Sports,我想提取参数:

所以最后我们有一个变量sports:

sports = ['Football', 'Badminton', 'Ski Jump']

这是我用的:

sports = soup.find_all('span', {'title': 'Sports'})

我什么都没有

最佳答案

您可以使用 re.compileBeautifulSoup 来查找所有 span 标签,如果 title 的第一部分> 属性是 "Sports":

content = """
 <span title="Sports Football">Football</span>
 <span title="Sports Badminton">Tennis</span>
 <span title="Sports Ski Jump">Ski Jump</span>
"""

import re
from bs4 import BeautifulSoup as soup
d = soup(content, 'html.parser')
results = [i.text for i in d.find_all('span', {'title':re.compile('^Sports\s')})]

输出:

['Football', 'Tennis', 'Ski Jump']

关于python - Beautiful Soup - 获取包含字符串的参数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53441208/

相关文章:

python - 在 Python 2 vs 3 中将图形渲染为带有集合列表的字典时出现问题

javascript - 原始像素数据到 PNG 或绘图原始像素数据

javascript - 选择下拉菜单重叠

python - 如何修复来自数据库的 Python 请求/BeautifulSoup 响应

Python bs4 - find_all 多个标签和类

python - 如何删除 BeautifulSoup 中所有不同的脚本标签?

python - cartopy:大圆距离线的更高分辨率

python - 使用 Python 在 Windows 中获取计算机的内存使用情况

python - Image.open() 无法识别图像文件 - Python?

javascript - "Drop"<li> 在 Bootstrap 菜单中悬停