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

Python BeautifulSoup:查找元素的第n次出现,python,find,beautifulsoup,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> 我可以重复所有的事件。但是,有没有比python更精确的方法来提取一个元素呢?使用切片来

我的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>

我可以重复所有的事件。但是,有没有比python更精确的方法来提取一个元素呢?

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

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

就在那一刻,我意识到
soup.find_all(“li”,“class”:“fn”)返回一个列表。因此,

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开头的事实

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]