最稳方式是用 Ctrl+U 打开源代码页后按 Ctrl+S/Cmd+S 保存;若被屏蔽则用 curl 或 requests 获取原始 HTML,注意设置 UTF-8 编码、添加 User-Agent、处理重定向。

直接保存网站首页的HTML源码,最稳的方式不是右键“另存为”,而是进「查看页面源代码」标签页后按 Ctrl+S(Windows)或 Cmd+S(macOS)——否则你大概率拿到的是渲染后的 DOM,不是服务器返回的真实源码。
怎么确保拿到的是原始 HTML 源码,不是 JS 渲染后的 DOM?
关键区别在于入口:用 Ctrl+U(或右键→“查看页面源代码”)打开的独立标签页,显示的是服务器直发的原始 HTML;而 F12 打开的 Elements 面板里看到的是浏览器解析+执行 JS 后的最终结构。
- 原始源码适合做 SEO 分析、服务端渲染验证、静态快照归档
- Elements 里的
outerHTML更适合调试交互逻辑、抓取动态插入的内容 - 有些网站会屏蔽
Ctrl+U或禁用右键,此时必须换用curl:curl -o index.html https://example.com - 注意:
curl默认不带 Cookie 和 User-Agent,遇到反爬可能返回 403,可加-H "User-Agent: Mozilla/5.0"
保存时编码选错,中文立刻变乱码
记事本默认用 ANSI 编码,粘贴含中文的 HTML 后一保存就报废。VS Code 等编辑器虽默认 UTF-8,但手动另存时仍可能被覆盖。
- 在记事本中:「另存为」对话框底部必须手动点开「编码」下拉菜单,选
UTF-8,不能留默认 - 在 VS Code 中:右下角状态栏点击当前编码(如
UTF-8),选「Save with Encoding」→UTF-8 - 文件名末尾一定要带
.html,不能只写index或漏掉扩展名 - 用
file://协议双击打开时,若页面含相对路径的css/js,需确保这些文件跟 HTML 在同一目录,否则白屏
想批量保存多个首页?别手点,用 Python 脚本一行命令搞定
人工操作适合单页,但如果你要定期抓取几十个官网首页做备案或监控,硬点效率太低,且容易漏。
立即学习“前端免费学习笔记(深入)”;
- 装好
requests:pip install requests - 脚本核心就三行:
import requests<br>url = "https://example.com"<br>open("index.html", "w", encoding="utf-8").write(requests.get(url).text) - 注意:
response.text自动按响应头的 charset 解码;若响应头没声明,requests会猜,有风险,稳妥做法是用response.content.decode("utf-8") - 批量时建议加异常捕获和延时,避免被目标站限流
真正容易被忽略的点是:很多所谓“主页”其实是重定向(比如访问 example.com 返回 302 到 example.com/home),curl 和 requests 默认跟随跳转,但你得确认最终拿到的是你想要的那个页面的源码——检查 response.url 或 curl -I 看 Location 头。



















