代码之家  ›  专栏  ›  技术社区  ›  nick88

WGET:想要从一个站点获得所有文件/pdf,dir被创建,但是没有文件被下载

  •  0
  • nick88  · 技术社区  · 6 年前

    拥有pdf和ppt格式的网站: http://some.uni.edu/~name/slides.html 我想一次性下载所有(许多)链接文件。 到目前为止,dir由wget生成,但它是空的。

    我试过:

    wget -r -A.pdf,.ppt http://some.uni.edu/~name/slides.html
    wget -e robots=off -A.pdf,.ppt -r -l1 http://some.uni.edu/~name/slides.html
    wget -nd -l -r -e robots=off http://some.uni.edu/~name/slides.html 
    wget -r -np -R "slides.html" http://some.uni.edu/~name/slides.html  
    wget -r -np -R "slides.html" http://some.uni.edu/~name/
    

    $ wget -r https://web.cs.ucla.edu/~kaoru/
    --2018-10-29 21:38:50--  https://web.cs.ucla.edu/~kaoru/
    Resolving web.cs.ucla.edu (web.cs.ucla.edu)... 131.179.128.29
    Connecting to web.cs.ucla.edu     (web.cs.ucla.edu)|131.179.128.29|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 623 [text/html]
    Saving to: ‘web.cs.ucla.edu/~kaoru/index.html’
    
    web.cs.ucla.edu/~ka 100%[===================>]     623  --.-KB/s    in 0s      
    
    2018-10-29 21:38:51 (19.1 MB/s) -     ‘web.cs.ucla.edu/~kaoru/index.html’ saved [623/623]
    
    Loading robots.txt; please ignore errors.
    --2018-10-29 21:38:51--  https://web.cs.ucla.edu/robots.txt
    Reusing existing connection to web.cs.ucla.edu:443.
    HTTP request sent, awaiting response... 200 OK
    Length: 95 [text/plain]
    Saving to: ‘web.cs.ucla.edu/robots.txt’
    
    web.cs.ucla.edu/rob 100%[===================>]      95  --.-KB/s        in 0s      
    
    2018-10-29 21:38:51 (3.10 MB/s) - ‘web.cs.ucla.edu/robots.txt’ saved [95/95]
    
    --2018-10-29 21:38:51--  https://web.cs.ucla.edu/~kaoru/paper11.gif
    Reusing existing connection to web.cs.ucla.edu:443.
    HTTP request sent, awaiting response... 200 OK
    Length: 10230 (10.0K) [image/gif]
    Saving to: ‘web.cs.ucla.edu/~kaoru/paper11.gif’
    
    web.cs.ucla.edu/~ka 100%[===================>]   9.99K  --.-KB/s    in 0.001s  
    
    2018-10-29 21:38:51 (12.3 MB/s) -     ‘web.cs.ucla.edu/~kaoru/paper11.gif’ saved [10230/10230]
    
    FINISHED --2018-10-29 21:38:51--
    Total wall clock time: 0.9s
    Downloaded: 3 files, 11K in 0.001s (12.2 MB/s)
    

    $ ls 
    $ index.html  paper11.gif
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   niCk cAMel    6 年前

    你的例子

    wget -r -A.pdf,.ppt http://some.uni.edu/~name/slides.html
    wget -e robots=off -A.pdf,.ppt -r -l1 http://some.uni.edu/~name/slides.html
    wget -nd -l -r -e robots=off http://some.uni.edu/~name/slides.html 
    wget -r -np -R "slides.html" http://some.uni.edu/~name/slides.html
    

    不应该按你想要的方式工作,因为你是专门针对一个 html -文件,即 slides.html

    然而,我认为你的最后一个例子是最接近的。

    既然@Kingsley的例子对你有用,你应该先试试这个,然后开始学习 -R -A

    wget -r http://some.uni.edu/~name/
    

    也许应该是 https !?

    无论如何,如果“目录列表”是不允许的(由服务器控制),那么 wget 无法递归获取所有文件。它只能得到特定的文件,你知道的名字!