Skip to main content
 首页 » 编程设计

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

2025年05月04日13fff_TT

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

举个例子:

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

请您参考如下方法:

我认为你可以使用.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 的制表符完成来查看它里面有什么,它有像 h3.next_element 和 h3.next_sibling 这样的东西 我尝试了它们,直到其中一个起作用。