欢迎转载,请支持原创,保留原文链接:blog.ilibrary.me

用wget爬取整站

整站爬取可以用wget来做

$ wget -m -k (-H) http://www.example.com/

该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。

你可以用python来浏览整个文件夹

python -m http.server

也可以用nginx 来host整个文件夹

docker run --name static-nginx -p 8081:80 -v $PWD:/usr/share/nginx/html:ro -d nginx

问题

该命令保存页面的时候会把页面参数做为文件名的一部分,比如 /index.html?l=en-US, nginx会尝试去寻找index.html, 而wget把这个文件保存为’index.html?l=en-US’了。

可以通过try_files $uri$is_args$args /404.html来实现把参数做为文件名的一部分来查找文件。 然后通过add_header Content-Type 'text/html'来返回html文件。 (这一步我没有试成功,只能作为一个方向)

参考

  1. Nginx 的 try_files 指令使用实例