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

浏览器与requests请求获取的HTML中img的src属性值不一致问题

问题原因解答

核心差异来源:静态请求无法获取JS动态生成的内容

你用requests.get()发起请求拿到的是网站返回的初始静态HTML源码,prnt.sc站点的图片base64内容并没有直接写在静态源码里:页面被浏览器加载后,会执行内置的JS脚本,完成资源拉取、内容计算之后,才会把base64格式的图片地址动态替换到对应img标签的src属性上。
你使用的lxml仅具备静态HTML文本的解析能力,没有浏览器的JS执行环境,无法触发动态内容的替换逻辑,最终只能提取到静态源码里预设的占位src值,也就是你实际拿到的页面URL。

相关知识点补充

  • lxml是纯XML/HTML解析工具,仅能处理静态文本的结构解析和内容提取,不支持JS执行、资源加载、页面渲染等浏览器具备的能力,只能提取静态源码中真实存在的内容
  • 当代多数站点的非静态内容(包括异步加载的资源、JS计算生成的内容)都不会嵌入初始HTML返回,必须模拟浏览器的完整执行流程才能获取到对应内容

解决方向

你可以根据自己的需求选择以下两种方案:

  • 改用带JS渲染能力的工具发起请求,比如Selenium、Playwright等浏览器自动化工具,等待页面加载完成后再提取img标签的src属性
  • 抓包分析prnt.sc加载图片的接口规则,直接调用对应接口获取图片数据,跳过前端页面解析环节

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:06:03