wget을 사용하여 전체 디렉토리 및 하위 디렉토리를 다운로드하는 방법은 무엇입니까?


143

wget해당 프로젝트의 SVN 서버가 더 이상 실행되지 않고 브라우저를 통해서만 파일에 액세스 할 수 있으므로을 사용하여 프로젝트의 파일을 다운로드하려고 합니다. 모든 파일의 기본 URL은 다음과 같습니다.

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ *

wget"tzivi"폴더가 루트 폴더이고 그 아래에 여러 파일과 하위 폴더 (최대 2 개 또는 3 개 레벨)가있는이 저장소의 모든 파일을 다운로드 하는 방법 (또는 다른 유사한 도구)을 어떻게 사용할 수 있습니까?


3
서버에 필요한 파일에 대한 모든 링크 목록이있는 웹 페이지가없는 경우에는 그렇게 할 수 없습니다.
Eddy_Em 2016 년

1
파일 이름을 알고 있습니까?
Karoly Horvath

아니오 나는 모든 파일의 이름을 모른다. 나는 재귀 옵션으로 wget을 시도했지만 작동하지 않았다. 서버에 모든 내부 링크를 나열하는 index.html 파일이 없기 때문입니다.
code4fun

wget의 미러링 옵션을 사용해 보셨습니까?
Tomasz Nguyen

답변:


193

쉘에서 이것을 사용할 수 있습니다 :

wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

매개 변수는 다음과 같습니다.

-r     //recursive Download

--no-parent // Don´t download something from the parent directory

전체 컨텐츠를 다운로드하지 않으려면 다음을 사용할 수 있습니다.

-l1 just download the directory (tzivi in your case)

-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo')  

등등. -l옵션 을 삽입하지 않으면 자동으로 wget사용 -l 5됩니다.

삽입하면 -l 0인터넷 전체를 다운로드 wget하게됩니다 . 왜냐하면 모든 링크를 따라 가기 때문 입니다.


19
다음 독자를 위해 단순화하기 위해 훌륭 wget -r -l1 --no-parent http://www.stanford.edu/~boyd/cvxbook/cvxbook_additional_exercises/합니다. 답변 감사합니다.
동 형사상

2
모든 파일을 가져 오기 위해 위의 명령을 시도했지만 http://websitename.com/wp-content/uploads/2009/05얻은 index.html파일은 아무것도 없었습니다. 내가 놓친 것을 알 수 없습니다.
Vivek Todi

@up : wget은 링크를 따르므로 디렉토리 목록이 필요합니다.;)

11
나는 이것이 아주 오래되었다는 것을 안다. 그러나 내가 찾은 것은 -e robots=off스위치였습니다. ;)
Matthias W.

2
"중요한 것을 잊어 버렸습니다"를 제거하고 답을 고치세요.
user1271772

16

쉘에서 이것을 사용할 수 있습니다.

wget -r -nH --cut-dirs=7 --reject="index.html*" \
      http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

매개 변수는 다음과 같습니다.

-r recursively download

-nH (--no-host-directories) cuts out hostname 

--cut-dirs=X (cuts out X directories)



1

이 명령을 사용할 수도 있습니다.

wget --mirror -pc --convert-links -P ./your-local-dir/ http://www.your-website.com

다운로드하려는 웹 사이트의 정확한 미러를 얻을 수 있도록


1

이 링크 는 나에게 가장 좋은 대답을 주었다.

$ wget --no-clobber --convert-links --random-wait -r -p --level 1 -E -e robots=off -U mozilla http://base.site/dir/

매력처럼 일했다.


-1

이것은 작동합니다 :

wget -m -np -c --no-check-certificate -R "index.html*" "https://the-eye.eu/public/AudioBooks/Edgar%20Allan%20Poe%20-%2"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.