2012-01-06 296 views
125

如何使用wget并从网站获取所有文件?如何使用wget从网站下载所有文件(但不是HTML)?

我需要的所有文件,除了网页文件,如HTML,PHP,ASP等

+0

即使你想要下载PHP,它使用wget是不可能的。我们只能使用wget获取原始HTML。我猜你知道原因 – 2013-09-26 16:35:45

+0

**注意:**总是首先检查'wget --spider',并且总是添加'-w 1'(或更多的'-w 5'),这样你就不会淹没其他人的服务器。 – isomorphismes 2015-03-06 00:34:29

+0

我该如何下载本页面中的所有pdf文件? http://pualib.com/collection/pua-titles-a.html – Arturo 2015-11-16 08:56:48

回答

194

要过滤特定文件扩展名:

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/ 

这将反映该网站,但没有jpgpdf扩展名的文件会自动删除。

+7

如果你只是想下载没有整个目录架构的文件,你可以使用** - nd **选项。 – diabloneo 2014-08-28 12:49:21

+1

每个标志是什么意思? – Michelle 2014-11-17 22:35:44

+0

我觉得'--accept'是区分大小写的,所以你必须做'--accept pdf,jpg,PDF,JPG' – Flimm 2014-11-21 18:56:01

62
wget -m -p -E -k -K -np http://site/path/ 

手册页会告诉你这些选项是做。

wget只会跟随链接,如果没有链接到索引页中的文件,那么wget将不知道它的存在,因此不会下载它。即。如果所有文件都链接到网页或目录索引中,它会有所帮助。

+0

感谢您的回复:) 它复制整个网站,我只需要文件(即txt,pdf ,图片等)在网站 – Aniruddhsinh 2012-01-06 09:05:26

63

此下载整个网站对我来说:

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/ 
+14

+1 for'-e robots = off'!这终于解决了我的问题! :)谢谢 – NHDaly 2013-12-22 18:35:16

+0

+1,做了我想要的。完美的镜像 – Anon343224user 2013-12-24 23:20:20

+5

'--random-wait'选项是天才;) – poitroae 2014-02-05 23:11:09

6

你可以试试:

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

15

我试图下载从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 
+1

'-A'是区分大小写的,我认为,所以你将不得不做'-A zip,ZIP' – Flimm 2014-11-21 18:56:25

4

试试这个。它总是对我的作品

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL 
2
wget -m -A * -pk -e robots=off www.mysite.com/ 

这会从HTML文件 下载本地的所有类型的文件,并指向他们,这会忽略robots文件

相关问题