如何获取</h3>和<br/>之间的文本值

2024-06-26 03:25:41 发布

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

我尝试使用python和beautiufflsoup进行屏幕抓取。我遇到的一个问题是我不知道如何获得<br/>之前的文本值

以下是一个例子:

<h3>
    Francois  Abboud
</h3>
Professor,&nbsp;
Internal Medicine
<br />
<br />

Tags: 文本br屏幕h3例子internalnbspprofessor
2条回答

tsup,如果将该html赋给如下字符串值:

html = 'your html here'

然后可以对其进行拆分,字符串将被拆分为一个字符串值数组,在指定的分隔符的任一侧保存字符串:

^{pr2}$

如果您需要任何帮助,或者如果我没有正确理解您的问题,请发表意见

我想你可以用.next_sibling

>>> from bs4 import BeautifulSoup
>>> 
>>> html = """
... <h3>
...     Francois  Abboud
... </h3>
... Professor,&nbsp;
... Internal Medicine
... <br />
... <br />
... """
>>> 
>>> soup = BeautifulSoup(html)
>>> 
>>> for h3 in soup.findAll("h3"):
...     print 'h3:'
...     print repr(h3)
...     print 'next sibling:'
...     print repr(h3.next_sibling)
... 
h3:
<h3>
    Francois  Abboud
</h3>
next sibling:
u'\nProfessor,\xa0\nInternal Medicine\n'

我应该说两分钟前我不知道怎么做,但是我知道findAll。所以我得到了一个h3对象,我使用IPython的tab completion来查看里面有什么,它有h3.next_element和{}的东西,我试了一下,直到其中一个成功。在

相关问题 更多 >