问题描述
如何使用wget
并从网站获取所有文件?
我需要除HTML,PHP,ASP等网页文件之外的所有文件。
最佳方法
要过滤特定的文件扩展名:
wget -A pdf,jpg -m -p -E -k -K -np http://site/path/
或者,如果您喜欢长选项名称:
wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/
这将镜像站点,但是没有jpg
或pdf
扩展名的文件将被自动删除。
次佳方法
这为我下载了整个网站:
wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/
第三种方法
wget -m -p -E -k -K -np http://site/path/
手册页将告诉您这些选项的作用。
wget
将仅跟随链接,如果索引页面中没有指向文件的链接,则wget
将不知道其存在,因此不会下载。即。如果在网页或目录索引中链接了所有文件,则将很有帮助。
第四种方法
我试图下载从Omeka’s themes page链接的zip文件-非常相似的任务。这对我有用:
wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
-
-A
:仅接受zip文件 -
-r
:递归 -
-l 1
:一层深(即,仅直接从此页面链接的文件) -
-nd
:不创建目录结构,只需将所有文件下载到此目录中。
关于-k
,-K
,-E
等选项的所有答案可能都不是真正理解该问题的方法,例如用于重写HTML页面以形成本地结构,重命名.php
文件等的问题。没有关联。
要从字面上获取除.html
等之外的所有文件,请执行以下操作:
wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com
第五种方法
您可以尝试:
wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/
您还可以添加:
-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar
接受特定扩展名,或仅拒绝特定扩展名:
-R html,htm,asp,php
或排除特定区域:
-X "search*,forum*"
如果机器人(例如搜索引擎)忽略了这些文件,则还必须添加:-e robots=off
第六种方法
尝试这个。它总是对我有用
wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
第七种方法
wget -m -A * -pk -e robots=off www.mysite.com/
这将在本地下载所有类型的文件并从html文件指向它们,并且它将忽略漫游器文件