페이지에는 내가 다운로드하고 싶은 .zip 파일 세트에 대한 링크가 포함되어 있습니다. 나는 이것이 wget과 curl로 할 수 있다는 것을 안다. 어떻게 되나요?
답변:
명령은 다음과 같습니다.
wget -r -np -l 1 -A zip http://example.com/download/
옵션 의미 :
-r, --recursive specify recursive download.
-np, --no-parent don't ascend to the parent directory.
-l, --level=NUMBER maximum recursion depth (inf or 0 for infinite).
-A, --accept=LIST comma-separated list of accepted extensions.
-np
. 다른 호스트에있는 경우 --span-host
.
위의 솔루션은 나를 위해 작동하지 않습니다. 나를 위해 이것은 작동합니다.
wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website]
옵션 의미 :
-r recursive
-l1 maximum recursion depth (1=use only this directory)
-H span hosts (visit other hosts in the recursion)
-t1 Number of retries
-nd Don't make new directories, put downloaded files in this one
-N turn on timestamping
-A.mp3 download only mp3s
-erobots=off execute "robots.off" as if it were a part of .wgetrc
-H
스위치 는 +1입니다 . 이것이 첫 번째 답변 (SO를 찾기 전에 시도한 것)이 작동하지 못하게하는 것입니다.
병렬 마법이있는 다른 시나리오에서는 다음을 사용합니다.
curl [url] | grep -i [filending] | sed -n 's/.*href="\([^"]*\).*/\1/p' | parallel -N5 wget -
-nd
당신이 여분의 디렉토리 (즉, 모든 파일을 루트 폴더에있을 것입니다) 생성하지 않으려면 (없음 디렉토리) 플래그가 편리합니다.