(python)使用漂亮的soup解析某些HTML输出标记

2024-09-24 22:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

您好:)经过一段时间的研究,我想出了以下函数,它返回完整的HTML标记,而不是简单地返回倒置的部分<;>;“this”<;>

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”。而不是得到:

^{pr2}$

我需要的输出是,简单地说

nosh

有人知道我怎么才能做到吗?在


Tags: 函数from标记importltgtgetdef
2条回答

使用lxml而不是BeautifulSoup:

>>> from lxml.html import parse
>>> tree = parse("http://www.reference.com/wordoftheday")
>>> tree.xpath("//h2")[0].text
'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'

相关问题 更多 >