使用BeautifulSoup的find_all获取最后一个元素的内容
我想从通过 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中的最后一项。