[html] 온라인 파일 / 폴더 목록에 나타나는 모든 파일 및 하위 디렉토리와 함께 HTTP 디렉토리를 다운로드하는 방법은 무엇입니까?

액세스 할 수있는 온라인 HTTP 디렉토리가 있습니다. 를 통해 모든 하위 디렉토리와 파일을 다운로드하려고했습니다 wget. 그러나 문제는 wget하위 index.html디렉토리를 다운로드 할 때 파일 자체를 다운로드하지 않고 해당 디렉토리의 파일 목록이 포함 된 파일을 다운로드한다는 것입니다.

깊이 제한없이 하위 디렉토리와 파일을 다운로드하는 방법이 있습니까 (다운로드하려는 디렉토리가 컴퓨터로 복사하려는 폴더 인 것처럼).

온라인 HTTP 디렉토리



답변

해결책:

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

설명:

  • ddd 디렉토리의 모든 파일과 하위 폴더를 다운로드합니다.
  • -r : 재귀 적으로
  • -np: ccc /… 와 같은 상위 디렉토리로 이동하지 않음
  • -nH : 파일을 호스트 이름 폴더에 저장하지 않음
  • --cut-dirs=3: 그러나 처음 3 개의 폴더 aaa , bbb , ccc 를 생략 하여 ddd 에 저장
  • -R index.html: index.html
    파일 제외

참조 : http://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/


답변

VisualWGet을 사용 하는이 게시물 덕분 에이 작업을 수행 할 수있었습니다 . 그것은 나를 위해 잘 작동했습니다. 중요한 부분은 깃발 을 확인하는 것 같습니다 (이미지 참조).-recursive

또한 -no-parent플래그가 중요 하다는 것을 알았 으므로 모든 것을 다운로드하려고 시도합니다.

여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오


답변

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

에서 man wget

‘-r’
‘–recursive’
재귀 검색을 켭니다. 자세한 내용은 재귀 다운로드를 참조하십시오. 기본 최대 깊이는 5입니다.

‘-np’ ‘–no-parent’
재귀 적으로 검색 할 때 상위 디렉토리로 올라가지 마십시오. 특정 계층 아래에있는 파일 만 다운로드 할 수 있으므로 유용한 옵션입니다. 자세한 내용은 디렉토리 기반 제한을 참조하십시오.

‘-nH’ ‘–no-host-directories’
호스트 접두어 디렉토리 생성을 비활성화합니다. 기본적으로 ‘-r http://fly.srk.fer.hr/ ‘로 Wget을 호출 하면 fly.srk.fer.hr/로 시작하는 디렉토리 구조가 작성됩니다. 이 옵션은 이러한 동작을 비활성화합니다.

‘–cut-dirs = number’
숫자 디렉토리 구성 요소를 무시하십시오. 재귀 검색을 저장할 디렉토리를 세밀하게 제어 할 때 유용합니다.

예를 들어 ‘ ftp://ftp.xemacs.org/pub/xemacs/ ‘ 의 디렉토리를 사용하십시오 . ‘-r’로 검색하면 ftp.xemacs.org/pub/xemacs/에 로컬로 저장됩니다. ‘-nH’옵션이 ftp.xemacs.org/ 부분을 제거 할 수는 있지만 여전히 pub / xemacs가 붙어 있습니다. 이것은 ‘–cut-dirs’가 유용한 곳입니다. Wget이 원격 디렉토리 구성 요소를 “보지”못하게합니다. 다음은 ‘–cut-dirs’옵션의 작동 방식에 대한 몇 가지 예입니다.

옵션이 없습니다-> ftp.xemacs.org/pub/xemacs/ -nH-> pub / xemacs / -nH –cut-dirs = 1-> xemacs / -nH –cut-dirs = 2->.

–cut-dirs = 1-> ftp.xemacs.org/xemacs/ … 디렉토리 구조를 제거하려면이 옵션은 ‘-nd’와 ‘-P’의 조합과 유사합니다. 그러나 ‘-nd’와 달리 ‘–cut-dirs’는 하위 디렉토리에서 손실되지 않습니다 (예 : ‘-nH –cut-dirs = 1’). 베타 / 서브 디렉토리는 다음과 같이 xemacs / beta에 배치됩니다. 하나는 기대할 것입니다.


답변

wget소중한 자원이자 내가 사용하는 것입니다. 그러나 때로는 주소에 wget구문 오류로 식별되는 문자가 있습니다. 나는 그에 대한 해결책이 있다고 확신하지만,이 질문에 대해 구체적으로 묻지 않았기 때문에 wget의심 할 여지 없이이 페이지를 우연히 발견하여 학습 곡선이 필요없는 빠른 해결책을 찾는 사람들을위한 대안을 제시 할 것이라고 생각했습니다.

이를 수행 할 수있는 몇 가지 브라우저 확장 프로그램이 있지만 항상 무료 인 것은 아니며 눈에 띄지 않으며 많은 리소스를 사용하는 다운로드 관리자를 설치해야합니다. 다음은 이러한 단점이없는 것입니다.

“다운로드 마스터”는 디렉토리에서 다운로드하기에 적합한 Chrome 용 확장 프로그램입니다. 다운로드 할 파일 형식을 필터링하거나 전체 디렉토리를 다운로드하도록 선택할 수 있습니다.

https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce

최신 기능 목록 및 기타 정보를 보려면 개발자 블로그의 프로젝트 페이지를 방문하십시오.

http://monadownloadmaster.blogspot.com/


답변

--use-pget-n=10명령에 추가 할 수있는 더 큰 파일이 있으면 다운로드의 강력한 군용 칼인 lftp를 사용할 수 있습니다

lftp -c 'mirror --parallel=100 https://example.com/files/ ;exit'


답변

Firefox 애드온을 사용 하여 HTTP 디렉토리의 모든 파일을 다운로드 할 수 있습니다 .

https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/


답변

소프트웨어 나 플러그인이 필요하지 않습니다!

(재귀 부서가 필요하지 않은 경우에만 사용 가능)

북마크를 사용하십시오. 이 링크 를 책갈피로 드래그 한 다음이 코드를 편집하여 붙여 넣으십시오.

(function(){ var arr=[], l=document.links; var ext=prompt("select extension for download (all links containing that, will be downloaded.", ".mp3"); for(var i=0; i<l.length; i++) { if(l[i].href.indexOf(ext) !== false){ l[i].setAttribute("download",l[i].text); l[i].click(); } } })();

파일을 다운로드하려는 페이지로 이동하여 해당 북마크를 클릭하십시오.