Wget을 사용하면 전체 웹사이트를 다운로드할 수 없습니다

Wget을 사용하면 전체 웹사이트를 다운로드할 수 없습니다

전체 웹사이트를 다운로드하고 싶지만, 종료하고 싶다면 작업을 재개할 수도 있습니다. 내 문제는 명령을 두 번째로 실행할 때 이전에 생성한 하위 폴더로 이동하지 않는다는 것입니다. 해당 옵션 도
시도했지만 동일한 오류가 발생하여 이제 다음과 같은 명령을 사용하고 있습니다.--mirror--no-clobber

wget --recursive -l inf --no-clobber --page-requisites --no-parent --domains xxx https://xxx/

특히 이것은 내가 얻은 예입니다.

--2021-01-09 15:46:11--  https://domain/subfolder/
Reusing existing connection to domain:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
domain/subfolder: Is a directory

Cannot write to ‘domain/subfolder’ (Success).

두 번째로 실행했을 때 명령이 매우 빠르게 중지되어 디렉터리 내의 파일에 대한 모든 검사를 건너뛰었습니다.

이전 작업에서 생성한 폴더를 확인하는 솔루션이 있습니까 wget?

답변1

오늘 나는 문제가 재귀 또는 연속 옵션이 아니라 301 응답이 반환되었다는 것을 이해했습니다. 처음에는 왜 그랬는지 아직도 이해가 안 되지만 이제는 모든 것이 잘 작동합니다. 작업을 중지하고 다시 시작할 수 있으며, 각 파일을 확인한 후 wget은 새 콘텐츠를 다운로드하거나 이전 다운로드를 계속합니다. 늘 그렇듯, 같은 문제가 있으신 분은 여기 링크로 https://lists.gnu.org/archive/html/bug-wget/2019-11/msg00036.html

누군가에게 도움이 될 수 있다면 지금 사용하고 있는 명령은 wget -r --mirror -N -l inf --no-parent -R --trust-server-names --content-disposition --continue --입니다. 도메인 사이트 https://website

이전 질문에서 보고 읽은 것처럼 다음 리디렉션을 허용하는 옵션은 --trust-server-names입니다. 그런 다음 --content-disposition을 결합하면 모든 것이 잘 작동합니다.

모두의 도움에 감사드립니다

답변2

당신이 찾고 있는 것은 기존 파일보다 최신 파일만 검색하는 옵션 --timestamping( 간단히 말하면)입니다.-N

참고로 제가 실제로 가끔 사용하는 명령은 다음과 같습니다.

wget -c -N -mirror -pc --convert-links -P ./mirror $SITE_URL

관련 정보