Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

网站克隆工具

这个工具可以完整克隆网站,包括HTML、CSS、JavaScript和所有静态资源文件,实现1比1的本地克隆。

功能特点

  • ✅ 使用Selenium获取完整渲染后的HTML(包含JavaScript动态生成的内容)
  • ✅ 自动下载所有CSS样式表文件
  • ✅ 自动下载所有JavaScript文件
  • ✅ 自动下载所有图片资源(包括背景图片)
  • ✅ 自动下载字体文件
  • ✅ 自动处理CSS中的@import和url()引用
  • ✅ 自动更新HTML中的资源路径,使其指向本地文件
  • ✅ 保持目录结构清晰

安装依赖

pip install -r requirements.txt

前置要求

  1. 安装Chrome浏览器
  2. 安装ChromeDriver
    • 下载地址:https://chromedriver.chromium.org/
    • 确保ChromeDriver版本与Chrome浏览器版本匹配
    • 将ChromeDriver添加到系统PATH,或修改脚本中的路径

使用方法

方法1:直接运行脚本(克隆theo.xyz)

python clone_website.py

方法2:自定义URL

修改 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/             # 其他资源文件

注意事项

  1. 等待时间:脚本默认等待8秒让页面完全加载,如果网站加载较慢,可以增加等待时间
  2. 网络连接:需要稳定的网络连接来下载所有资源
  3. 跨域限制:某些资源可能由于CORS策略无法下载
  4. 动态内容:完全依赖于JavaScript的动态内容可能无法完全保存

使用示例

克隆 https://theo.xyz/ 网站:

from clone_website import WebsiteCloner

cloner = WebsiteCloner("https://theo.xyz/", output_dir="theo_clone")
cloner.clone()

故障排除

  • ChromeDriver错误:确保ChromeDriver版本与Chrome浏览器版本匹配
  • 下载失败:某些资源可能无法访问,脚本会跳过并继续
  • 路径错误:如果使用自定义ChromeDriver路径,取消脚本中相关注释并设置路径

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages