这个工具可以完整克隆网站,包括HTML、CSS、JavaScript和所有静态资源文件,实现1比1的本地克隆。
- ✅ 使用Selenium获取完整渲染后的HTML(包含JavaScript动态生成的内容)
- ✅ 自动下载所有CSS样式表文件
- ✅ 自动下载所有JavaScript文件
- ✅ 自动下载所有图片资源(包括背景图片)
- ✅ 自动下载字体文件
- ✅ 自动处理CSS中的@import和url()引用
- ✅ 自动更新HTML中的资源路径,使其指向本地文件
- ✅ 保持目录结构清晰
pip install -r requirements.txt- 安装Chrome浏览器
- 安装ChromeDriver:
- 下载地址:https://chromedriver.chromium.org/
- 确保ChromeDriver版本与Chrome浏览器版本匹配
- 将ChromeDriver添加到系统PATH,或修改脚本中的路径
python clone_website.py修改 clone_website.py 文件末尾的URL:
if __name__ == "__main__":
target_url = "https://your-website.com/" # 修改这里
cloner = WebsiteCloner(target_url, output_dir="cloned_site")
cloner.clone()克隆完成后,会在指定的输出目录中生成以下结构:
cloned_site/
├── index.html # 主HTML文件
├── css/ # CSS样式文件
├── js/ # JavaScript文件
├── images/ # 图片资源
├── fonts/ # 字体文件
└── assets/ # 其他资源文件
- 等待时间:脚本默认等待8秒让页面完全加载,如果网站加载较慢,可以增加等待时间
- 网络连接:需要稳定的网络连接来下载所有资源
- 跨域限制:某些资源可能由于CORS策略无法下载
- 动态内容:完全依赖于JavaScript的动态内容可能无法完全保存
克隆 https://theo.xyz/ 网站:
from clone_website import WebsiteCloner
cloner = WebsiteCloner("https://theo.xyz/", output_dir="theo_clone")
cloner.clone()- ChromeDriver错误:确保ChromeDriver版本与Chrome浏览器版本匹配
- 下载失败:某些资源可能无法访问,脚本会跳过并继续
- 路径错误:如果使用自定义ChromeDriver路径,取消脚本中相关注释并设置路径