2014-09-02 28 views
0

我想刮一個網頁,我根本不想使用正則表達式。我正在使用beautifulsoup來處理刮擦。我有這個源:獲取已知元素外部的文本beautifulsoup

<TD WIDTH="50%" VALIGN="TOP"><span class="sections">Date:</span> 
13 August 2014 
     <br>&nbsp;<br><span class="sections">Application Deadline:</span> 
    <font color="maroon"> 
     28 August 2014</font> 

     <font color="#990066">Application closed/under review</font> 

<br>&nbsp;<br><span class="sections">Duty Station:&nbsp;</span> 
Multiple duty stations 
<br> 
&nbsp; 

從這個來源,我想刮2014年8月13日

我可以通過它的類找到span元素:soup.findAll('span',{'class':'sections'}獲取第一個元素,並檢查文本是否爲「Date:」,但這只是給了我元素。我試圖得到的文本是在它下面,我唯一能做的就是搜索td,但那不是我想要的,因爲在一個td中有很多元素和文本。

我知道我可以用正則表達式來完成,但我真的只是想用beautifulsoup來做。

在此先感謝

回答

2

找到它。

一旦我得到元素<span class="sections">Date:</span> 我必須做element.nextSibling 比我想象的容易。