必须从源码或DOM精准截取head内容:源码页用Ctrl+U定位复制,Elements面板用Copy element提取渲染后head,Python可用requests+BeautifulSoup批量处理,但需注意相对路径资源失效问题。

直接保存整个 <head> 区域的原始内容,不能靠“另存为网页全部”,因为那会混入浏览器自动注入的元信息或修正后的标签;必须从源码或 DOM 中精准截取。
用浏览器源码页 + 手动定位复制
这是最可靠、零依赖的方法,适用于静态页面或未被 JS 大量改写的 <head>。
- 打开目标网页,按
Ctrl+U(Windows/Linux)或Cmd+Option+U(Mac)进入源码视图 - 用浏览器搜索功能(
Ctrl+F)输入<head>,定位起始位置 - 向下滚动找到对应的
</head>,注意闭合标签是否完整(有些老页面可能缺失) - 鼠标拖选从
<head>开头到</head>结尾的全部内容(含换行),复制 - 粘贴进 VS Code 或 Notepad++,保存为
head_backup.html,编码选UTF-8,类型选“所有文件”
用开发者工具 Elements 面板提取渲染后 head
当页面通过 JS 动态注入 <meta>、<link> 或修改 <title> 时,源码页看不到这些变化,必须用此法。
- 按
F12打开开发者工具,切换到Elements面板 - 展开左侧 DOM 树,找到顶层
<html>→<head>节点 - 右键点击
<head>标签,选择Copy→Copy element(不是Copy outerHTML,后者会多包一层<head>) - 粘贴后检查:开头应是
<head>,结尾是</head>,中间不含<body>或注释块干扰 - 若发现
<script>标签内有内联逻辑影响 head 行为,建议一并保留,否则模板复用时可能丢失关键初始化
用 Python requests + BeautifulSoup 提取并保存
适合批量处理多个 URL,或需要自动化归档 <head> 内容的场景。注意反爬和编码问题。
立即学习“前端免费学习笔记(深入)”;
- 发送请求时务必加
headers,否则部分网站返回 403 或空<head> - 用
BeautifulSoup(response.text, "html.parser")解析,避免lxml因自闭合标签报错 - 提取方式:
soup.head返回Tag对象,str(soup.head)得到字符串 - 保存前先用
.strip()去首尾空白,再写入文件,防止空行干扰后续模板拼接 - 示例代码片段:
from bs4 import BeautifulSoup<br>import requests<br><br>url = "https://example.com"<br>headers = {"User-Agent": "Mozilla/5.0"}<br>res = requests.get(url, headers=headers)<br>soup = BeautifulSoup(res.text, "html.parser")<br>head_html = str(soup.head).strip()<br>with open("extracted_head.html", "w", encoding="utf-8") as f:<br> f.write(head_html)
真正容易被忽略的是:很多页面的 <head> 里包含相对路径的 <link rel="stylesheet"> 或 <script src>,直接复用到其他域名下会 404;保存时得同步记录原始 base href 或手动转为绝对路径——否则所谓“可复用的 head 模板”,第一次调用就失效。



















