다음 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의 이름 바꾸기 명령입니다.