使用wget下载网站时跳过指定子目录的命令编写方法
使用wget下载网站时跳过指定子目录的命令编写方法
嘿,这个需求我之前帮朋友处理过,刚好能给你说清楚!要下载目标网站但跳过summer/sport这个子目录,咱们得用wget专门的目录排除参数,而不是你提到的--cut-dirs(那个是管本地目录结构的,和排除下载无关)。
直接给你能用的命令示例,你可以根据自己的情况微调:
wget -r -np --exclude-directories=*/sport https://sssssssssss.com/things/summer/tables/books/
我给你拆解下每个参数的作用:
-r:开启递归下载模式,这样wget会自动遍历目标URL下的所有子页面和资源-np:全称是--no-parent,意思是不追溯到父目录,避免wget跑到things/summer/以上的层级去下载无关内容,也能防止误下载其他不需要的上层目录--exclude-directories=*/sport:这是核心的排除参数,*/sport是通配符匹配,意思是不管在哪个层级,只要目录名叫sport就跳过下载。如果你担心其他地方也有同名的sport目录会被误排除,可以写更精确的路径:--exclude-directories=things/summer/sport,这样就只跳过指定位置的这个子目录了。
顺便给你澄清下你提到的--cut-dirs参数:它的作用是调整本地保存的目录结构,比如你不想本地生成sssssssssss.com/things/summer/tables/这么多层目录,就可以用--cut-dirs=3,这样wget会去掉远程路径的前3层,本地直接保存books/下面的内容,但它完全不能实现跳过某个子目录下载的需求,所以这次咱们用不上它。
备注:内容来源于stack exchange,提问作者ccsann
相关产品推荐
相关产品推荐

