Python BeautifulSoup从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标记的后续兄弟(注意,这是非常特定于本文的,因此希望它可以扩展到您的情况): 一般的想法是,您在目标文本之前找到标记,然后找到下一个同级元素,该元素应该是您的文本。如果网

我有一些HTML代码如下:

<p>aaa</p>bbb
<p>ccc</p>ddd
aaa

bbb ccc

ddd

如何获取'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']