首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeautifulSoup:寻找元素的n次出现

BeautifulSoup:寻找元素的n次出现
EN

Stack Overflow用户
提问于 2015-04-11 18:17:00
回答 2查看 1.6K关注 0票数 2

我的html文件看起来像

代码语言:javascript
复制
<li class="fn" id="fn-8">
    <p id="p-53"> Some text
    </p>
</li>
<li class="fn" id="fn-10">
    <p id="p-63"> Some more text
    </p>
</li>

诸若此类。脚注元素的数量各不相同,id也不可靠。不过,我只对最后一个脚注感兴趣。我知道我可以得到脚注元素的数目

代码语言:javascript
复制
number_of_footnotes = len(soup.find_all("li", {"class":"fn"}))

我可以迭代所有的事件。但是,是否有更多的pythonic方法来精确提取一种元素呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-11 18:20:55

使用切片获取列表中的项。

代码语言:javascript
复制
last_item = soup.find_all("li", {"class":"fn"})[-1]
票数 4
EN

Stack Overflow用户

发布于 2015-04-11 18:21:00

在下一个时刻,我意识到soup.find_all("li", {"class":"fn"})返回了一个列表。因此,

代码语言:javascript
复制
list_of_footnotes = soup.find_all("li", {"class":"fn"})
number_of_footnotes = len(soup.find_all("li", {"class":"fn"}))
next_to_last_footnote = list_of_footnotes[number_of_footnotes - 2]

我的下一个注脚。

它是-2而不是-1来纠正Python以0开头的事实。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29581399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档