2014-09-02 5 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; 

Из этого источника, я хочу, чтобы очистить 13 августа 2014.

Я могу найти элемент элемента span по его классу с помощью: soup.findAll('span',{'class':'sections'} получить первый элемент и проверить, есть ли текст «Дата:», но это просто дает мне элемент. Текст, который я пытаюсь получить, находится под ним, и единственное, что я могу сделать, это поиск по td, но это не то, что я хочу, потому что внутри одного объекта есть текст и текст внутри td.

Я знаю, что я мог бы сделать это с помощью регулярного выражения, но я действительно пытаюсь сделать это только с beautifulsoup.

Заранее благодарен

ответ

2

Найдено.

После того, как я получаю элемент <span class="sections">Date:</span> я должен сделать element.nextSibling проще, чем я думал.

Смежные вопросы