最稳妥方式是用开发者工具复制html节点outerhtml,而非右键“查看页面源代码”,因电商页依赖js动态渲染,原始源码无价格、sku等关键内容;需复制渲染后dom并utf-8编码保存。

直接保存商品详情页的HTML源码,最稳妥的方式是用浏览器开发者工具复制 outerHTML,而不是依赖右键“查看页面源代码”——因为绝大多数电商页面(如淘宝、京东、拼多多)都靠JavaScript动态渲染商品信息,原始源码里根本没价格、SKU列表、详情图等关键内容。
为什么“查看页面源代码”经常保存失败
电商页面通常在 document.write 或 React/Vue 挂载后才注入商品数据,原始 HTML 响应体里只有空容器或加载占位符。你右键 → “查看页面源代码”再 Ctrl+S,得到的往往是:
- 一个带
<div id="root"></div>的空壳文件 - 大量未执行的
<script></script>标签,但没数据 - 中文乱码(记事本默认 ANSI 编码保存)
正确保存渲染后完整HTML的步骤
目标是拿到浏览器最终显示的商品结构,包括动态插入的标题、参数表格、轮播图HTML、规格选择器等:
- 打开商品页,按
F12打开开发者工具,切到Elements面板 - 在左侧DOM树中找到最外层的
节点(或滚动到底部找) - 右键该节点 →
Copy→Copy outerHTML - 新建文件,用 VS Code / Sublime Text 等编辑器粘贴,不要用系统记事本直接存
- 保存时显式选择编码为
UTF-8,文件名加.html后缀(如jd-product-123456.html)
curl 或 Python 抓取时要注意的坑
命令行方式适合批量抓取,但电商网站普遍有反爬机制,直接 curl https://item.jd.com/123456.html 很可能返回 403 或登录跳转页:
- 必须带上真实
User-Agent头,例如:curl -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" https://xxx > out.html - 部分页面需携带 Cookie(比如已登录态才能看价格),此时
curl要加-b "cookie_string" - Python 用
requests.get()时,记得设置headers和必要时session.cookies.set() - 即使成功抓到,返回的仍是初始HTML,不含JS渲染内容 —— 若需真实DOM结构,得用 Playwright / Puppeteer 启动真实浏览器
真正难的不是保存动作本身,而是判断你手里的这份HTML到底包含多少有效信息:它有没有被水印脚本污染?图片URL是不是相对路径?内联样式里有没有加密类名?这些都会影响你后续做解析或离线查看。别急着存完就关掉页面,先在本地双击打开,确认商品标题、价格、参数表都正常显示再说。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











