使用BeautifulSoup的find_all获取最后一个元素的内容

5 投票
2 回答
32421 浏览
提问于 2025-04-18 18:31

我想从通过 find_all 创建的列表中提取最后一个 div 的内容。

post_content = soup.find_all('div',{'class': 'body_content_inner'})

这段代码会把以下文本存储起来:

[<div class="body_content_inner">
 post #1 content is here
 </div>, <div class="body_content_inner">
 post #2 content is here
 </div>]

我想提取最后一个 div 标签里面的文本,但我不太确定该怎么遍历 post_content

2 个回答

48

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个功能时,发现它并没有按照预期工作。这种情况很常见,尤其是在处理复杂的代码或系统时。

解决这些问题的第一步是理解错误信息。错误信息通常会告诉我们哪里出了问题,虽然有时候它们可能看起来很复杂。我们需要仔细阅读这些信息,找出关键的提示。

此外,查看相关的文档或教程也是一个好主意。很多时候,文档中会有详细的说明,帮助我们理解如何正确使用某个功能。如果文档不够清晰,可以尝试在网上搜索相关问题,看看其他人是怎么解决的。

最后,记住编程是一个不断学习的过程。遇到问题时,不要气馁,慢慢来,逐步解决,相信自己会越来越好。

html = """
<div class="body_content_inner">
 post #1 content is here
 </div>, <div class="body_content_inner">
 post #2 content is here
 </div>
  """
soup = BeautifulSoup(html)
print soup.find_all("div")[-1].get_text()
post #2 content is here
5
last_div = None
for last_div in post_content:pass
if last_div:
    content = last_div.getText()

然后你就可以获取到post_content中的最后一项。

撰写回答