我的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方法来精确提取一种元素呢?
发布于 2015-04-11 18:20:55
使用切片获取列表中的项。
last_item = soup.find_all("li", {"class":"fn"})[-1]发布于 2015-04-11 18:21:00
在下一个时刻,我意识到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开头的事实。
https://stackoverflow.com/questions/29581399
复制相似问题