我使用requests
在Python中发出请求。
然后我使用bs4
选择想要的div
。我现在想要计算该div中文本的长度,但是我得到的字符串也包括所有标签,例如:
<div><a class="some_class">Text here!</a></div>
我想仅计算Text here!
,而不计算所有div
和a
代码。
任何人都知道我该怎么做?
答案 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