python BeautifulSoup爬取多个div,只能得到其中的两个div内容

对知乎某问题的答案进行爬冲,其每个答案的源码包含在<div class='List-item'>里面,有多个div标签,但我只能爬取到前两个的div标签,请教一下这是为什么?
这是网页源码部分
图片描述

这是爬取的代码

图片描述

这是输出的结果
图片描述

请知道的大神指点一二,谢谢!

阅读 10.9k
7 个回答

从你上面的截图来看,应该是点击了下面的 查看全部xxx个回答,页面通过 ajax 请求拿到了新的数据。
程序去下载的网页的时候只会拿到最原始的页面,默认只有两个 List-item , 你可以通过网络请求把页面下载下来,在编辑器中打开,看看里面的 div 的个数。

建议关闭浏览器javascript功能然后查看源代码。

你的class="List-items" div里面的是List-item

List-item or List-items, 多print能发现这类typo

你可以定位<div>的父级,把所有<div>中你想要爬取的存入一个list,然后就随便怎么弄了

把你的 url 发出来,好调试

你好,我也遇到了这样了问题,请问最终是如何解决的呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题