3

我有这个跨度,我想获得标题

<span title="Something"></span>

如何用beautifulsoup 做到这一点?

res = soup.find('span')
print res //Was trying to add res.title but result is 'None'
4

2 回答 2

11

您应该可以像这样访问它:

res = soup.find('span')['title']

文档

编辑:我应该澄清一下, res 将是 title 属性的值。如果您希望以后使用该元素,请将我的代码更改为:

res = soup.find('span')
title = res['title']

然后你可以继续使用res(如果需要)。

此外,.find将返回单个元素。您需要确保它是您想要的跨度,因为 HTML 可能有多个跨度。

于 2012-10-19T21:32:58.223 回答
0

这是文档的内容:

soup.findAll(['title', 'p'])
# [<title>Page title</title>, 
#  <p id="firstpara" align="center">This is paragraph <b>one</b>.</p>, 
#  <p id="secondpara" align="blah">This is paragraph <b>two</b>.</p>]

soup.findAll({'title' : True, 'p' : True})
# [<title>Page title</title>, 
#  <p id="firstpara" align="center">This is paragraph <b>one</b>.</p>, 
#  <p id="secondpara" align="blah">This is paragraph <b>two</b>.</p>]

您也可以使用正则表达式。

于 2012-10-19T21:37:22.023 回答