(python)使用美丽的汤解析某些HTML输出标签
问题描述:
Hello :)在玩了一下之后,我想出了以下函数,它返回完整的HTML标签,而不是简单的倒转零件< > “这个” <>(python)使用美丽的汤解析某些HTML输出标签
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'
之所以使用lxml的很简单:我没有看起来,BeautifulSoup安装在我的Mac上。 – Kimvais 2012-04-27 12:33:14