wget으로 재귀 적으로 다운로드


32

다음 wget 명령에 문제가 있습니다.

wget -nd -r -l 10 http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

원본 웹에서 모든 연결된 문서를 재귀 적으로 다운로드해야하지만 두 개의 파일 ( index.htmlrobots.txt) 만 다운로드합니다 .

웹을 재귀 적으로 다운로드하려면 어떻게 해야합니까?

답변:


40

wget기본적으로 검색 엔진과 마찬가지로 페이지 크롤링에 대한 robots.txt 표준 을 따르며 archive.org의 경우 전체 / web / 하위 디렉토리를 허용하지 않습니다. 재정의하려면 -e robots=off,

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

고맙습니다. 모든 링크를 한 번만 저장하는 옵션이 있습니까? 어쩌면 나는 10더 낮은 숫자로 줄여야하지만 추측하기는 어렵습니다. 이제 파일이 introduction.html, introduction.html.1, introduction.html.2그리고 차라리 과정을 끝냈다.
xralf

링크가 웹으로 연결됩니다. --mirror링크가 파일 시스템으로 연결 되는 옵션입니까?
xralf

1
@ xralf : 글쎄, 당신은을 사용 -nd하고 있으므로 다른 index.html디렉토리는 같은 디렉토리 -k에 있으며 링크가 없으면 링크를 다시 쓸 수 없습니다.
Ulrich Schwarz

12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

URL 내용을 재귀 적으로 다운로드합니다.

--random-wait - wait between 0.5 to 1.5 seconds between requests.
-r - turn on recursive retrieving.
-e robots=off - ignore robots.txt.
-U Mozilla - set the "User-Agent" header to "Mozilla". Though a better choice is a real User-Agent like "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)".

다른 유용한 옵션은 다음과 같습니다.

--limit-rate=20k - limits download speed to 20kbps.
-o logfile.txt - log the downloads.
-l 0 - remove recursion depth (which is 5 by default).
--wait=1h - be sneaky, download one file every hour.

-l 0 - remove recursion depth (which is 5 by default)
대니
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.