1

我在 Python 中使用requests.

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

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

我只想计算Text here!, 没有所有的divanda标签。

有人知道我该怎么做吗?

4

1 回答 1

7

你的意思是:

tag.text

或者

tag.string

tag表示您找到的标签 use soup.find()。查看文档以获取更多详细信息。


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

>>> 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
于 2015-11-06T13:12:21.043 回答