获取BeautifulSoup中已知元素外的文本

1 投票
1 回答
881 浏览
提问于 2025-04-19 09:00

我想从一个网页上抓取数据,但我不想用正则表达式。我正在使用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日

我可以通过类名找到元素,方法是用:soup.findAll('span',{'class':'sections'})来获取第一个元素,然后检查它的文本是否是“日期:”,但这只让我找到了这个元素。我要找的文本在它下面,而我能做的就是通过td来搜索,但这不是我想要的,因为一个td里面有很多元素和文本。

我知道我可以用正则表达式来做到这一点,但我真的想只用beautifulsoup来完成。

提前谢谢你!

相关问题:

1 个回答

3

找到了。

一旦我获取到这个元素 <span class="sections">日期:</span>,我只需要用 element.nextSibling 就可以了。比我想的简单多了。

撰写回答