请问如何使用BeautifulSoup获取标签的值?我阅读了文档,但很难找到具体方法。例如,如果有以下代码:
<span title="Funstuff" class="thisClass">Fun Text</span>
我该如何使用BeautifulSoup/Python仅提取“ Funstuff”?
编辑:我正在使用版本3.2.1
请问如何使用BeautifulSoup获取标签的值?我阅读了文档,但很难找到具体方法。例如,如果有以下代码:
<span title="Funstuff" class="thisClass">Fun Text</span>
在这个问题中,你需要有一些东西来识别你要查找的元素,很难确定它是什么。
例如,在BeautifulSoup 3中,这两个示例都将打印出“Funstuff”。一个查找span元素并获取标题,另一个查找具有给定类的spans。还有许多其他有效的方法可以达到这个目的。
import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup('<html><body><span title="Funstuff" class="thisClass">Fun Text</span></body></html>')
print soup.html.body.span['title']
print soup.find('span', {"class": "thisClass"})['title']
from BeautifulSoup import BeautifulSoup
),那么将该行从soup = BeautifulSoup.BeautifulSoup(...
更改为soup = BeautifulSoup(...
。有关更多信息,请参见http://docs.python.org/tutorial/modules.html。 - Steven Huwig通过 .contents 可以获取 A 标签的子元素 http://www.crummy.com/software/BeautifulSoup/bs4/doc/#contents-and-children 在您的情况下,您可以使用 CSS 类来提取标签并获取其内容
from bs4 import BeautifulSoup
soup=BeautifulSoup('<span title="Funstuff" class="thisClass">Fun Text</span>')
soup.select('.thisClass')[0].contents[0]
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors 包含所有必要的细节