6

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

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

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

编辑:我使用的是 3.2.1 版

4

2 回答 2

7

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

例如,这两个都将在 BeautifulSoup 3 中打印出“Funstuff”。一个查找 span 元素并获取标题,另一个查找具有给定类的 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']
于 2012-07-23T18:46:56.320 回答
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 有所有的细节nevessary

于 2012-07-23T19:53:57.690 回答