当我尝试镜像包含 Java 文件、XML 文件、ActionScript 文件等的网站时,wget 似乎仅下载常见的文件,例如 xml、txt 等。
它似乎没有下载.java、.as 文件。
这是我的命令:
wget --no-parent --user=USERNAME--password=PASSWD-e robots=off --header "CUSTOM HEADERS" "http://URL" -r --timeout=25
我觉得没什么问题。下载完成后,没有任何 .java 或 .as 文件。
另外,有没有办法跳过每个包含字符串的目录?例如,如果目录名为“backup3r98238943r3jrefi”,我可以因为其中包含单词“backup”而跳过它吗?我想跳过网站上任何目录/子目录中包含关键字的任何目录。
答案1
您可以使用--reject
或--exclude-directories
跳过内容:
wget ... --reject '*backup*' ...
wget ... --exclude-directories '*backup*' ...
答案2
这完全取决于网站的目录结构。在大多数情况下,除非您要盗版该网站(不要这样做,好吗?),否则您将只能获得服务器上可能存在的任何 Java 代码的编译输出。
您想要镜像整个站点,因此不要-r
使用-w
:
wget -mpEk --exclude-directories '*backup*' --reject '*backup*' --no-parent --robots=off <FTP USER INFO> <URL>
输入 URL 时,请使用最底层的目录,如果无法使其在下面的public_html
级别工作,请尝试删除--no-parent
,具体取决于您的 .htaccess 的设置方式和目录结构,可能是您的文件不在您要抓取的内容之内,在这种情况下,由于您有 FTP 凭据,也许使用命令sftp
会更符合您的要求。