
다음 명령을 사용하여 디렉터리를 재귀적으로 다운로드하려고 합니다.
wget -r -l2 --no-parent -A "*.pdf" -nd -N -e robots=off http://…
스크립트는 15분마다 실행되므로 요청을 최대한 줄이고 싶습니다. ?C=M;O=A
다음과 같은 디렉터리 순서 수정자 버튼에서 발생하는 요청이 많이 있는 것을 확인했습니다 .이름,날짜또는크기(예). 이러한 요청이 발생하지 않도록 하려면 어떻게 해야 합니까?
답변1
에서 지적한 바와 같이답변관련된 질문에,wget의 문서말한다:
또한 쿼리 문자열(물음표('?')로 시작하는 URL 끝에 있는 문자열은 허용/거부 규칙에 대한 파일 이름의 일부로 포함되지 않습니다. Wget의 향후 버전에서는 쿼리 문자열과의 일치를 허용하는 옵션을 제공할 것으로 예상됩니다.
아마도 다음과 같은 다른 도구를 사용해야 할 것입니다.파부크또는httrack. 이 두 프로그램은 wget보다 더 강력한 이름 필터링을 제공합니다.
대안으로, wget을 사용하여 디렉토리를 다운로드하고 나중에 필터링할 수 있습니다.
find . -name '*\?' -delete
# Here is a less dangerous pattern that matches the string you provided more closely:
find . -name '*\??=?;?=?' -delete
답변2
*.pdf 파일의 디렉토리를 미러링하려는 경우 httrack을 사용하겠습니다. 다음과 같은 명령이 나에게 효과적이었습니다.
% httrack http://my.server.com/dir/with/pdfs/ +mime:text/html +*.pdf --update
다음 URL에서 httrack에 대한 자세한 내용을 확인할 수 있습니다.
wget보다 httrack을 사용할 때의 주요 이점 중 하나는 httrack이 변경/업데이트된 파일만 다운로드한다는 것입니다.