(蟒蛇)使用漂亮的汤解析某些 HTML 输出标记



你好:)在玩了一会儿之后,我想出了以下函数,它返回完整的 HTML 标记,而不仅仅是倒置<<em>中的部分>"this"<</em>>

from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen
def get_wotd():
    return str((BeautifulSoup(urlopen('http://www.reference.com/wordoftheday'))).findAll('h2'))
print get_wotd()

例如,今天的单词是"nosh"。而不是得到:

[<h2 class="me">nosh</h2>]

我需要输出,简单地说,

nosh

有人知道我怎么能做到这一点吗?

使用 .text 属性获取内部文本,并改用find()方法:

>>> from BeautifulSoup import BeautifulSoup
>>> from urllib2 import urlopen
>>> soup = BeautifulSoup(urlopen('http://www.reference.com/wordoftheday'))
>>> soup.find('h2').text
u'nosh'

使用 lxml 而不是 BeautifulSoup:

>>> from lxml.html import parse
>>> tree = parse("http://www.reference.com/wordoftheday")
>>> tree.xpath("//h2")[0].text
'nosh'

最新更新