以下命令:
volume = soup.findAll("span", {"id": "volume"})[0]
给出:
<span class="gr_text1" id="volume">16,103.3</span>
当我发出印刷品(卷)时。
我如何获得该号码?
答案 0 :(得分:18)
从元素中提取字符串:
volume = soup.findAll("span", {"id": "volume"})[0].string
答案 1 :(得分:8)
使用css selector:
>>> soup.select('span#volume')[0].text
u'16,103.3'
答案 2 :(得分:1)
答案 3 :(得分:0)
仅需添加,当文本中有.string
时,我还发现<br>
的效果不佳。
EG:
<div class = "Lines">
<span> First Line <br> Second Line <br> Third Line </span>
</div>
如果我们进行soup.find("div",attrs={"class":"Lines}).span.string
,我们将得到None
但是soup.find("div",attrs={"class":"Lines}).span.text
我们得到
First Line Second Line Third Line
我认为.string
提供了一个NavigatableString
对象,而.text
提供了一个unicode对象。
答案 4 :(得分:0)
有一个用于获取标签值的函数:tag.contents [0]
尝试一下:
volumes = soup('span')
for volume in volumes:
print(volume.contents[0])