Wget을 사용하여 URL에서 모든 이미지를 단일 폴더로 다운로드하려면 어떻게합니까?


133

wget을 사용하여 웹 사이트에서 모든 이미지를 다운로드하고 정상적으로 작동하지만 모든 하위 폴더와 함께 사이트의 원래 계층 구조를 저장하므로 이미지가 점으로 표시됩니다. 모든 이미지를 단일 폴더로 다운로드하는 방법이 있습니까? 현재 사용중인 구문은 다음과 같습니다.

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

답변:


194

이 시도:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com

자세한 내용은 다음과 같습니다.

-nd디렉토리 계층을 만들지 못하도록합니다 (예 : 디렉토리 없음 ).

-r재귀 검색을 가능하게합니다. 자세한 내용은 재귀 다운로드 를 참조하십시오.

-P 모든 파일과 디렉토리가 저장되는 디렉토리 접두사를 설정합니다.

-A특정 파일 형식 만 검색하기위한 화이트리스트를 설정합니다. 문자열과 패턴이 허용되며 둘 다 쉼표로 구분 된 목록에서 사용할 수 있습니다 (위 참조). 자세한 내용 은 파일 형식 을 참조하십시오.


5
이것은 실제로 저에게 효과적이지 않았습니다. 내 저장 위치는 "."입니다. 그리고 전체 사이트 계층 구조를 복사했습니다.
Buttle Butkus

2
@ButtleButkus accept -A옵션을 사용하여 조금 더 혼란스러워하는 것처럼 들립니다 . 파일 형식에 대한 Wget 설명서를 참조하십시오 . 또한 현재 디렉토리로 다운로드하는 경우 디렉토리 접두사 -P옵션을 제거 할 수 있습니다 . jpg와 같은 단일 파일 형식을 다운로드하는 경우 다음과 같은 것을 사용하십시오 wget -r -A.jpg http://www.domain.com. Wget 문서가 제공 하는 고급 예제 를 보십시오 .
Jon

-nd 위의 내용을 추가 하면 작동합니다. 다음과 같이 여러 개의 -A 플래그를 지정할 수도 있습니다.-A "*foo*" -A "*bar*"
Yablargo

1
사용하는 것을 잊지 마십시오 --level=inf또는 --level=9999999999때문에이 wget가능성의 최대 재귀 깊이 레벨을 기본값으로 인해 일을 방해하는 것입니다 5.
user619271

127
wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co
  • -nd: 디렉토리 없음 (모든 파일을 현재 디렉토리에 저장 -P directory, 대상 디렉토리 변경)
  • -r -l 2: 재귀 수준 2
  • -A: 허용되는 확장
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2}
  • -H: span span (wget은 기본적으로 다른 도메인이나 하위 도메인에서 파일을 다운로드하지 않습니다)
  • -p: 페이지 요구 사항 (각 페이지의 이미지와 같은 리소스 포함)
  • -e robots=off: 파일의 robotos=off일부인 것처럼 명령 을 실행 .wgetrc합니다. 그러면 로봇 제외가 꺼 지므로 robots.txt 및 로봇 메타 태그를 무시해야합니다 (이에 따른 의미를 알고주의해야합니다).

예 : .jpg모범적 인 디렉토리 목록에서 모든 파일을 가져옵니다.

$ wget -nd -r -l 1 -A jpg http://example.com/listing/


9

이거 한번 해봐:

wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com

추가 정보가 모두 삭제 될 때까지 기다립니다.


그것은 나를 위해 작동하지 않습니다. wget -nd -r -P /Users/duraiamuthan/Downloads/images/ -A jpeg,jpg,bmp,gif,png http://www.forbes.com/profile/mark-zuckerberg/
Vivo

5

매뉴얼 페이지에 따르면 -P 플래그는 다음과 같습니다.

-P prefix --directory-prefix = prefix 디렉토리 접 두부를 prefix로 설정합니다. 디렉토리 접두사는 다른 모든 파일과 서브 디렉토리가 저장 될 디렉토리, 즉 검색 트리의 맨 위입니다. 기본값은입니다. (현재 디렉토리).

즉, 대상 만 지정하고 디렉토리 트리를 저장할 위치를 지정합니다. 트리를 하나의 디렉토리로 병합하지 않습니다. . 앞에서 언급했듯이 -nd 플래그는 실제로 그렇게합니다.

@Jon 미래에는 깃발의 기능을 설명하는 것이 도움이 될 것이므로 어떻게 작동하는지 이해할 수 있습니다.


2

제안 된 솔루션은 이미지를 다운로드하는 데 적합하며 사용중인 디렉토리에 모든 파일을 저장하기에 충분한 경우에 적합합니다. 그러나 사이트의 전체 계층 트리를 재생성하지 않고 지정된 디렉토리에 모든 이미지를 저장하려면 Jon이 제안한 행에 "cut-dirs"를 추가하십시오.

wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3

이 경우 cut-dirs는 웹 사이트 계층 구조 트리의 3 단계 깊이까지 wget이 서브 디렉토리를 작성하지 못하게하여 지정한 디렉토리에 모든 파일을 저장합니다. 구조가 깊은 사이트를 다루고 있습니다.


-7

wget 유틸리티는 HTTP, HTTPS 및 FTP와 같이 널리 사용되는 프로토콜을 사용하여 WWW (World Wide Web)에서 파일을 검색합니다. Wget 유틸리티는 무료 패키지이며 라이센스는 GNU GPL 라이센스하에 있습니다. 이 유틸리티는 Windows 및 MAC OS를 포함한 모든 유닉스 계열 운영 체제를 설치할 수 있습니다. 비 대화식 명령 줄 도구입니다. Wget의 주요 특징은 견고성입니다. 느리거나 불안정한 네트워크 연결에서 작동하도록 설계되었습니다. 네트워크 문제가 발생하면 Wget은 자동으로 다운로드를 시작합니다. 또한 파일을 재귀 적으로 다운로드합니다. 파일이 완전히 검색 될 때까지 계속 시도합니다.

리눅스 머신에 wget 설치 sudo apt-get install wget

파일을 다운로드 할 폴더를 만듭니다. sudo mkdir myimages cd myimages

웹 페이지를 마우스 오른쪽 버튼으로 클릭하고 이미지 위치를 원할 경우 이미지를 마우스 오른쪽 버튼으로 클릭하고 이미지 위치를 복사하십시오. 여러 이미지가있는 경우 다음을 따르십시오.

웹에서 한 번에 20 개의 이미지를 다운로드 할 경우 범위는 0에서 19까지입니다.

wget http://joindiaspora.com/img {0..19} .jpg


2
귀하의 답변은 wget이 무엇이며 그것을 사용하여 순차적으로 번호가 매겨진 이미지를 다운로드하는 방법을 설명합니다 ... 원래 질문과 관련이 없습니다.
Alastair
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.