You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用BeautifulSoup抓取页面时未获取到源码中h3元素问题求助

问题原因

你要抓取的目标站是客户端渲染站点,浏览器中看到的包含h3.jsx-4245974604元素的页面,是浏览器执行完页面内置JavaScript代码后生成的最终DOM。而requests库仅能获取页面初始静态HTML,这份初始HTML中不存在你要找的h3标签,BeautifulSoup自然无法解析出对应元素。

此外还有小概率是解析器兼容问题:Python内置的html.parser对部分不规范的HTML解析容错性较低,也可能出现元素丢失的情况,你可以先替换为lxml解析器(需要先执行pip install lxml安装依赖),将代码中soup = BeautifulSoup(webpage, "html.parser")修改为soup = BeautifulSoup(webpage, "lxml")后再测试,排查是不是解析器的问题。

解决方案

  • 使用支持JS渲染的爬虫工具:替换requests为Selenium、Playwright等模拟真实浏览器运行的工具,等待页面JS执行完成后再提取DOM,就能拿到动态生成的h3内容。
  • 直接抓取数据源接口:打开浏览器控制台的网络面板,筛选XHR/Fetch请求,找到站点加载电影列表的后端接口,直接请求接口获取结构化JSON数据,效率远高于解析页面DOM。
  • 验证方法:你可以先把response.text写入本地HTML文件,用浏览器打开查看内容是否符合预期,即可快速确认是不是动态渲染导致的内容缺失。

内容的提问来源于stack exchange,提问作者Sai Nallani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 15:27:03