mysite.com/img/ 디렉토리의 모든 이미지를 다운로드하는 유틸리티와 같은 Wget

mysite.com/img/ 디렉토리의 모든 이미지를 다운로드하는 유틸리티와 같은 Wget

mysite.com/img/ 디렉토리에 대한 액세스가 차단되었습니다.

n.jpg그러나 해당 디렉토리의 모든 이미지는 n이 n번째 이미지인 형식입니다 .

내 액세스가 mysite.com/img/n.jpg차단되지 않았습니다.

mysite.com/img/1.jpg어쨌든 이미지 1-500( ~ ) 을 저장할 수 있나요 mysite.com/img/500.jpg?

우분투 11.10을 사용하고 있습니다

답변1

가장 쉬운 해결책은 아마도 bash 중괄호 확장을 사용하는 것입니다.

wget http://mysite.com/img/{1..500}.jpg

루프를 수행하는 옵션도 있으므로 각 요청 사이에 약간의 대기 시간을 둘 수 있습니다.

for n in $(seq 1 500); do
  wget http://mysite.com/img/${n}.jpg
  sleep 0.1
done

(위의 내용은 쉘에서 직접 실행할 수 있습니다.)

답변2

한 사이트에 대해 성공적으로 사용한 다른 방법도 있으며 wget, 다른 사이트에 대해서는 아래 지침을 수정할 수 있습니다. 여기에는 URL 목록을 생성한 다음 해당 목록을 wget.

1) 예를 들어 다음의 63개 PDF 잡지를 모두 다운로드한다고 가정해 보겠습니다.풀 서클 매거진(Ubuntu 잡지), 다운로드 관리자가 한꺼번에 다운로드할 수는 없습니다. 그래서 찾아링크첫 번째 PDF 파일의 내용을 확인하고 다른 잡지 링크가 동일한 URL 형식인지 빠르게 확인하세요.

2) 1부에서 얻은 지식을 바탕으로 이제 스크립트를 사용하여 URL을 생성할 수 있습니다. 아래 스크립트는 내가 수정한 Until 루프를 실행합니다(창시자에게 제공). 부분에 잡지 수를 배치하고 until [ $i = 63 ]그 뒤에 올바른 URL을 배치하여 이 스크립트를 수정하고 루프가 실행될 때마다 변경되도록 에코할 URL의 올바른 부분에 있는지 echo확인합니다 . "$i"URL이 생성된 다음 텍스트 파일에 추가됩니다. 이는 스크립트가 실행될 때 순식간에 발생하며 설정이 생각만큼 복잡하지 않습니다!

텍스트 편집기에 스크립트를 저장하고 실행 가능하게 만든 다음 실행합니다. 다음에서 다운로드하려는 경우 위에 설명된 대로 수정하세요.다른내 예보다 사이트.

#!/bin/bash
   i=0
   until [ $i = 63 ] ; do
    i=$(($i+1))
    echo "http://dl.fullcirclemagazine.org/issue"$i"_en.pdf" >> url.txt
done 

3) 마지막으로 url.txt현재 작업 디렉터리에 있다고 가정하고 다음을 실행합니다.

wget -i url.txt  

다운로드를 다른 곳에 저장하려면 -P ~/MyDirectory뒤에 추가하세요.url.txt

작동합니다. 시도한 후 ctrl c모두 다운로드하고 싶지 않으면 중단하려면 입력하세요!

관련 정보