获取BeautifulSoup中已知元素外的文本
我想从一个网页上抓取数据,但我不想用正则表达式。我正在使用beautifulsoup来处理抓取工作。我有这个源代码:
<TD WIDTH="50%" VALIGN="TOP"><span class="sections">Date:</span>
13 August 2014
<br> <br><span class="sections">Application Deadline:</span>
<font color="maroon">
28 August 2014</font>
<font color="#990066">Application closed / under review</font>
<br> <br><span class="sections">Duty Station: </span>
Multiple duty stations
<br>
从这个源代码中,我想抓取2014年8月13日。
我可以通过类名找到元素,方法是用:soup.findAll('span',{'class':'sections'})来获取第一个元素,然后检查它的文本是否是“日期:”,但这只让我找到了这个元素。我要找的文本在它下面,而我能做的就是通过td来搜索,但这不是我想要的,因为一个td里面有很多元素和文本。
我知道我可以用正则表达式来做到这一点,但我真的想只用beautifulsoup来完成。
提前谢谢你!
相关问题:
1 个回答
3
找到了。
一旦我获取到这个元素 <span class="sections">日期:</span>,我只需要用 element.nextSibling 就可以了。比我想的简单多了。