使用BeautifulSoup拉标签值

时间:2012-07-23 18:37:43

标签: python parsing tags beautifulsoup

有人可以指导我如何使用BeautifulSoup来提取标签的价值吗?我阅读了文档,但很难浏览它。例如,如果我有:

<span title="Funstuff" class="thisClass">Fun Text</span>

我如何将“Funstuff”拉到BeautifulSoup / Python?

编辑:我使用的是版本3.2.1

2 个答案:

答案 0 :(得分:7)

你需要有一些东西来识别你正在寻找的元素,而且很难说出这个问题是什么。

例如,这两个都将打印出BeautifulSoup 3中的“Funstuff”。一个查找span元素并获取标题,另一个查找具有给定类的跨度。许多其他有效方法可以达到这一点。

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

答案 1 :(得分:1)

通过.contents提供标签儿童 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拥有所有细节