2017-05-03 181 views
0

我想解析HTML代码如下所示:与美丽的汤解析

<div> 
<span>Current Status</span>FINAL DECISION </div> 
<div> 
<span>Applicant</span>GC Planning Partnership Ltd </div> 
<div> 
<span>Agent</span>GC Planning Partnership Ltd </div> 
<div> 
<span>Wards</span>Springfield Ward </div> 
<div> 
<span>Location Co ordinates</span>Easting 534379 Northing 187690 </div> 
<div> 
<span>Parishes</span> </div> 
<div> 
<span>OS Mapsheet</span>  </div> 
<div> 

现在,我不想让那就是在两者之间的<span>标签的文本,而是信息就在它之后。从上面的例子中,我想提取像“最终决定”,“斯普林菲尔德病房”或类似的价值观。我对解析h​​tml很陌生,我不知道如何到达那里。

我会很高兴任何提示或想法!

非常感谢!

回答

2

如果你想与特定文字span元素之后的文本 - 可以先找到文本span元素,然后拿到.next_sibling

soup.find("span", text="Current Status").next_sibling 

如果,但要遍历所有的span元素和每个span元素获取下一个兄弟文字:

from bs4 import BeautifulSoup, NavigableString 

for span in soup.find_all("span"): 
    next_text = span.next_sibling 
    if isinstance(next_text, NavigableString): 
     print(next_text)