有人可以指导我如何使用BeautifulSoup来提取标签的价值吗?我阅读了文档,但很难浏览它。例如,如果我有:
<span title="Funstuff" class="thisClass">Fun Text</span>
我如何将“Funstuff”拉到BeautifulSoup / Python?
编辑:我使用的是版本3.2.1
答案 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拥有所有细节