假设我们有一个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'})
我什么都没有
你什么也得不到,因为没有一个固定的标题只是命名为
Sports
,它不像通配符那样工作。如果要获取title
的属性值,可以在使用find_all
获得的标记对象上使用get(attr_name)
。你知道吗除此之外,如果您只需要该元素的文本,只需对来自
find_all
的标记对象使用.text
方法即可。你知道吗如果
title
属性的第一部分是"Sports"
,则可以使用re.compile
和BeautifulSoup
来查找所有span
标记:输出:
也许你所举的例子是从你的头顶编造出来的,但是你的跨距的内容与你想要的完全匹配——所以在这个例子中,你可以通过以下方法来解决:
sports = soup.find_all('span', {'title': 'Sports'}).contents
这将为您提供所需内容的字符串版本。你知道吗相关问题 更多 >
编程相关推荐