Python在页面上计算数字或字母

时间:2015-11-06 13:10:14

标签: python html beautifulsoup bs4

我使用requests在Python中发出请求。

然后我使用bs4选择想要的div。我现在想要计算该div中文本的长度,但是我得到的字符串也包括所有标签,例如:

<div><a class="some_class">Text here!</a></div>

我想仅计算Text here!,而不计算所有diva代码。

任何人都知道我该怎么做?

1 个答案:

答案 0 :(得分:7)

你的意思是:

tag.text

tag.string

tag表示您找到的标记使用soup.find()。查看the document了解详情。

这是一个简单的演示,可以帮助您理解我的意思:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<html><body><div><a class="some_class">Text here!</a></div></body></html>', "html.parser")
>>> tag = soup.find('div')
>>> tag
<div><a class="some_class">Text here!</a></div>
>>> tag.string
'Text here!'
>>> tag.text
'Text here!'
>>> 

关于计算文字的长度,您的意思是在这里使用len()吗?

>>> tag.text
'Text here!'
>>> len(tag.text)
10