要完整地将网站复制到本地,包括所有HTML、CSS、JavaScript、图片和其他资源文件,以下是几种有效的方法:
httrack "http://example.com" -O "C:\website_backup" "+*.example.com/*" -v
bash
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.com
--mirror
: 递归下载--convert-links
: 转换链接为本地可用--page-requisites
: 下载所有必要资源(CSS,JS,图片)--no-parent
: 不下载父目录示例代码:
import scrapy
class WebsiteSpider(scrapy.Spider):
name = 'website'
start_urls = ['http://example.com']
def parse(self, response):
# 保存HTML
filename = response.url.split("/")[-1] or "index.html"
with open(filename, 'wb') as f:
f.write(response.body)
# 递归跟随链接
for href in response.css('a::attr(href)').getall():
yield response.follow(href, self.parse)
对于特别复杂的网站,可能需要: - 使用Puppeteer/Playwright等无头浏览器工具 - 配置代理绕过反爬机制 - 编写自定义脚本处理特定情况
需要针对特定网站提供更详细指导吗?