我想使用curl
以下网址一次从以下页面下载文件:http :
//www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
我尝试过curl http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
,它在终端中返回了一堆线,但是没有得到任何文件。
我想使用curl
以下网址一次从以下页面下载文件:http :
//www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
我尝试过curl http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
,它在终端中返回了一堆线,但是没有得到任何文件。
Answers:
使用wget
代替。brew install wget
如果已安装Homebrew或sudo port install wget
MacPorts ,则可以与它一起安装。
要从目录列表下载文件,请使用-r
(递归),-np
(不要跟随父目录的链接),-k
并使下载的HTML或CSS中的链接指向本地文件(信誉@xaccrocheur)。
wget -r -np -k http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
其他有用的选项:
-nd
(无目录):将所有文件下载到当前目录-e robots.off
:忽略robots.txt文件,请勿下载robots.txt文件-A png,jpg
:仅接受扩展名为png
或的文件jpg
-m
(镜子): -r --timestamping --level inf --no-remove-listing
-nc
,--no-clobber
:如果文件存在,请跳过下载brew
并port
没有为我工作,安装了wget。我该怎么办?
-k
并非始终有效。例如,如果您有两个链接指向要递归捕获的网页上的同一文件,则wget
似乎只能转换第一个实例的链接,而不能转换第二个实例的链接。
curl
只能读取单个网页文件,实际上,您得到的一串行是目录索引(如果转到该URL,您也可以在浏览器中看到该目录)。要使用curl
和一些Unix工具魔术来获取文件,您可以使用类似
for file in $(curl -s http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/ |
grep href |
sed 's/.*href="//' |
sed 's/".*//' |
grep '^[a-zA-Z].*'); do
curl -s -O http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/$file
done
它将所有文件放入当前目录。
对于更详尽的需求(包括从具有文件夹/目录的站点获取一堆文件),wget
(如已经在另一个答案中建议的那样)是更好的选择。
xmllint --html --xpath '//a/@href'
比起可能是更好的解析器grep
。
参考:http : //blog.incognitech.in/download-files-from-apache-server-listing-directory/
您可以使用以下命令:
wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>
wget
:用于发出CURL请求并将远程文件下载到我们本地计算机的简单命令。--execute="robots = off"
:在浏览网页时,这会忽略robots.txt文件。如果您没有获取所有文件,这将很有帮助。--mirror
:此选项将基本上反映给定URL的目录结构。这是一个快捷方式,-N -r -l inf --no-remove-listing
它意味着:
-N
:除非本地更新,否则不要重新获取文件-r
:指定递归下载-l inf
:最大递归深度(inf或0表示无穷大)--no-remove-listing
:不要删除“ .listing”文件--convert-links
:使下载的HTML或CSS中的链接指向本地文件--no-parent
:不要升至父目录--wait=5
:两次检索之间要等待5秒钟。这样我们就不会破坏服务器。<website-url>
:这是从中下载文件的网站网址。下载愉快:笑脸:
您可以使用适用于Windows / MacOS并可以通过Homebrew安装的httrack。
对于那些希望将应用程序与GUI一起使用的人,有便宜的Mac OS X共享软件DeepVacuum程序,该程序wget
以用户友好的方式实现,并带有可以处理常用任务的预设列表。您还可以将自己的自定义配置另存为预设。
wget -r -np -k http://your.website.com/specific/directory
。诀窍是使用-k
转换链接(图像等)进行本地查看。