Wget - 웹 서버에서 모든 이미지 다운로드

Wget - 웹 서버에서 모든 이미지 다운로드

그래서 웹 서버, 특히 jpeg에서 모든 이미지를 다운로드하고 싶습니다. 내가 실행 중인 명령은 합법적인 것으로 보이며 웹사이트에 jpeg가 있다는 것을 알고 있습니다. 예를 들어

wget -r -PC:/ -A.jpghttp://somesitewithjpegs.com

이 명령은 jpeg 이미지만 충실하게 검색하여 전체 서버를 재귀적으로 검색한 다음 해당 이미지를 내 C:/ 드라이브에 다운로드한다는 것이 내 이해입니다. 어떤 이유로 이것은 작동하지 않습니다.

소스 코드를 보면 이미지가 실제로 페이지에 직접 포함되지 않고 서버의 다른 디렉터리에 호스팅된다는 것을 알 수 있습니다. 이것이 wget이 이러한 이미지를 다운로드하지 못하는 이유입니까?

답변1

내 질문에 대답하자면 wget은 링크를 따라가서 파일을 직접 다운로드할 수만 있다는 것이 사실입니다. 대부분의 이미지가 디렉토리 목록을 지원하지 않거나 제한사항이 있는 디렉토리에 어떻게 연결되어 있는지 볼 때, wget은 해당 디렉토리의 내용을 구문 분석할 방법이 없습니다.

이에 대한 좋은 예는 wp-content 폴더 아래에 이미지를 저장하는 WordPress 사이트입니다. 이 폴더를 탐색하려고 하면 403 금지 오류가 발생합니다. 브라우저에서 이 이미지를 링크된 그림으로 볼 수 있더라도 이미지가 직접 액세스할 수 없는 디렉토리에 저장되어 있기 때문에 wget은 이에 액세스할 수 없습니다.

세부 사항이 누락되었거나 프로세스를 올바르게 설명하지 않은 경우 누군가가 이 답변에 추가할 수 있습니다.

답변2

이것이 wget이 이러한 이미지를 다운로드하지 못하는 이유입니까?

답변 :아마도 / 아마도 그럴 겁니다.

다음 옵션을 추가해 보세요.

-l1 -H

그만큼-시간앱이 도메인을 확장하도록 지시합니다. 즉, 사이트에서 다른 곳을 가리키는 링크를 따라야 합니다.(이미지가 다른 서버에서 제공될 수도 있음). 그리고-l1 한 단계만 진행한다는 뜻입니다. 즉, 링크된 사이트의 링크를 따라가지 마세요. 이렇게 하면 이미지 파일을 호스팅하는 다른 서버에서 콘텐츠를 다운로드할 수 있습니다.

iirc, 전체 WordPress 사이트를 미러링하는 동안 wp-content 폴더의 이미지에 액세스할 수 있습니다.

관련 정보