$ wget -r -np -nH --cut-dirs=2 -p -k "http://www.example.com/1" -O test.html
Cannot specify both -k and -O if multiple URLs are given, or in combination
with -p or -r. See the manual for details.
Usage: wget [OPTION]... [URL]...
이 문제를 해결하는 방법을 알고 싶습니다.
실제 문제에서는 목록 URL을 다음과 같은 텍스트 파일에 저장합니다.
http://www.example.com/1
http://www.example.com/2
http://www.example.com/3
웹페이지를 대체하는 데 필요한 파일과 함께 각 웹페이지를 다운로드하고 싶습니다.
기본적으로 다운로드한 각 파일에는 index.html
이전에 다운로드한 웹 페이지를 덮어쓰도록 이름이 지정됩니다. 그래서 다운로드한 파일의 이름을 다운로드 순서를 나타내는 숫자로 바꾸려고 했습니다.
i=0
for url in $(cat ../htmls);
do
wget -r -np -nH --cut-dirs=1 -p -k "$url" -O $(printf %04d $i).html;
i=$((i+1))
done
이때 초기 오류가 발생했습니다.
답변1
index.html
웹 페이지의 다양한 링크가 이 파일에 의존하기 때문에 이 파일이 필요합니다 . 각 웹페이지를 자체 디렉토리에 저장하겠습니다.
while read url; do
mkdir "$url";
cd "$url"
wget -r -np -nH --cut-dirs=1 -p -k "$url"
cd ../
done
wget
이는 이미 기본적으로 수행되어 있으므로 다음을 사용하십시오 .스티븐의 방법대신에.
답변2
wget
with의 기본 동작은 -r
다운로드한 파일을 URL과 일치하는 디렉터리에 저장하는 것이므로 다음과 같이 할 수 있습니다.
wget -r -np -p -i myurls
( myurls
다운로드할 URL이 포함된 파일은 어디에 있습니까?)
결과로 생성된 대용량 디렉토리는 가장 만족스럽지 않을 수 있지만 다운로드한 파일을 표시하는 데 필요한 모든 것을 갖추고 덮어쓰는 일이 없도록 보장합니다...