2017-05-03 227 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)