获取标签之间的字符串(TEST in<div><p>p1</p>TEST<p>p2</p></div>)

2024-06-02 05:43:09 发布

您现在位置:Python中文网/ 问答频道 /正文

代码:

from bs4 import BeautifulSoup
soup = BeautifulSoup('<div><p>p1</p>TEST<p>p2</p></div>')
print soup.div()

结果:

[<p>p1</p>, <p>p2</p>]

为什么字符串TEST不在结果集中?我怎样才能得到它?你知道吗


Tags: 字符串代码fromtestimportdivprintp2
2条回答

soup.div()soup.div.find_all()的快捷方式,它将find you all标记放在div标记内-如您所见,它完成了任务。TESTp标记之间的文本,或者换句话说,是第一个p标记的tail。你知道吗

您可以通过获取第一个p标记并使用^{}来获取TEST字符串:

>>> soup.div.p.next_sibling
u'TEST'

或者,通过获取div^{}的第二个元素:

>>> soup.div.contents[1]
u'TEST'

来自bs4

import BeautifulSoup
soup = BeautifulSoup('<div><p>p1</p>TEST<p>p2</p></div>')
print soup.div.text
u'p1TESTp2'

相关问题 更多 >