python - BeautifulSoup:查找第 n 次出现的元素

标签 python find beautifulsoup

我的 html 文件看起来像

<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 不可靠。但是,我只对倒数第二个脚注感兴趣。我知道我可以用

获取脚注元素的数量
number_of_footnotes = len(soup.find_all("li", {"class":"fn"}))

而且我可以遍历所有事件。但是是否有更 pythonic 的方法来精确提取一个元素?

最佳答案

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

last_item = soup.find_all("li", {"class":"fn"})[-1]

关于python - BeautifulSoup:查找第 n 次出现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29581399/

相关文章:

linux - 在 linux 中使用自定义别名中的 find 命令没有得到结果

mysql - 如何在MySQL中使用FIND_IN_SET?

python - Beautiful Soup 的 XML 数据不完整

python - 使用 BeautifulSoup 迭代列表

python - 有什么区别?< for item in list> 和 <for i in range(len(list))>

jquery - 如何使用具有深度限制的 jQuery find() ?

python - 如何使用 python subprocess 将多个音频流添加到在 vlc 中打开的视频中

python - 列出超出 SEC 网络爬虫范围的索引

python - 从数组的数组中提取数组

python - 如何获得覆盖整个 Tkinter Canvas 的绘图?