Python BeautifulSoup从HTML获取文本
我有一些HTML代码如下:Python BeautifulSoup从HTML获取文本,python,html,beautifulsoup,Python,Html,Beautifulsoup,我有一些HTML代码如下: <p>aaa</p>bbb <p>ccc</p>ddd aaabbb cccddd 如何获取'bbb'和'ddd'?如果将值('bbb','ddd')括在一个标记中(如)会更容易些 然后,您可以使用:soup('span')来获取它。您可以阅读每个p标记的后续兄弟(注意,这是非常特定于本文的,因此希望它可以扩展到您的情况): 一般的想法是,您在目标文本之前找到标记,然后找到下一个同级元素,该元素应该是您的文本。如果网
<p>aaa</p>bbb
<p>ccc</p>ddd
aaabbb
cccddd
如何获取'bbb'和'ddd'?如果将值('bbb','ddd')括在一个标记中(如
)会更容易些
然后,您可以使用:soup('span')来获取它。您可以阅读每个
p
标记的后续兄弟(注意,这是非常特定于本文的,因此希望它可以扩展到您的情况):
一般的想法是,您在目标文本之前找到标记,然后找到下一个同级元素,该元素应该是您的文本。如果网页不是他的,但没有标记包含值,该怎么办
In [1]: from bs4 import BeautifulSoup
In [2]: html = """\
...: <p>aaa</p>bbb
...: <p>ccc</p>ddd"""
In [3]: soup = BeautifulSoup(html)
In [4]: [p.next_sibling for p in soup.findAll('p')]
Out[4]: [u'bbb\n', u'ddd']
In [5]: [p.next_sibling.strip() for p in soup.findAll('p')]
Out[5]: [u'bbb', u'ddd']