wget - HTML 페이지 문자열 다운로드를 거부하는 방법

wget - HTML 페이지 문자열 다운로드를 거부하는 방법

다음 wget 명령을 사용하고 있는데 한 가지를 제외하고 필요한 필수 파일을 다운로드합니다.

wget -U "Mozilla/5.0" --wait=3 --load-cookies cookies.txt --timestamping --recursive --level=2 --convert-links --no-parent --page-requisites --adjust-extension --max-redirect=0 --exclude-directories=blog --reject "*per_page=18.html" --reject "*per_page=36.html" (url here)

다음과 같은 파일을 다운로드하고 싶습니다.

a1546997.html

하지만 다음과 같은 파일을 다운로드하고 싶지 않습니다.

a1546997.html?pwd=&per_page=36.html

끝에 추가 콘텐츠가 있는 HTML 페이지의 다운로드를 거부하는 방법을 알 수 없는 것 같습니다.

주요 문제는 wget이 두 번째 유형의 링크에서 재시도하고 시간 초과되는 것을 멈추는 것입니다. 링크는 아무데도 가지 않기 때문입니다. 그런 다음 wget 클라이언트가 금지됩니다.

어떤 제안이 있으십니까?

답변1

wget의 --reject-regex 스위치를 사용해 보세요. 아마도 다음과 같이 할 수 있을 것입니다:

wget --recursive --no-parent --reject-regex '[^?]' url

답변2

나는 실용적인 접근 방식을 취하겠습니다.

wget ....
rename 's/\.html\?.*/.html/' *.html*

이것은 Perl의 이름 바꾸기 명령입니다.

관련 정보