> 네트워크 관리 > wget

wget (재귀적 다운로드): 웹사이트 전체 복사

wget의 재귀적 다운로드 기능은 웹사이트 전체를 로컬에 복사하거나 특정 디렉토리 구조를 유지하며 파일을 다운로드할 때 사용됩니다. 이는 웹사이트 미러링, 오프라인 브라우징, 특정 유형의 파일 수집 등에 매우 유용합니다. `-r` 옵션을 통해 재귀적 다운로드를 활성화하며, 다양한 옵션으로 다운로드 깊이, 파일 유형, 링크 변환 등을 제어할 수 있습니다.

개요

wget은 HTTP, HTTPS, FTP 프로토콜을 사용하여 웹 서버에서 파일을 다운로드하는 비대화형 네트워크 다운로더입니다. 특히 재귀적 다운로드 기능은 웹사이트의 전체 또는 일부를 로컬에 복사하여 오프라인에서 접근할 수 있도록 하거나, 특정 유형의 파일을 대량으로 수집할 때 강력한 도구로 활용됩니다.

주요 특징

  • 웹사이트 전체 미러링 및 오프라인 브라우징
  • 지정한 깊이까지 디렉토리 구조 유지
  • 특정 파일 형식만 선택적으로 다운로드
  • 다운로드 후 링크를 로컬 파일 경로로 자동 변환
  • 중단된 다운로드 재개 기능

주요 옵션

재귀적 다운로드와 관련된 주요 옵션들입니다.

재귀적 다운로드 제어

다운로드 필터링 및 동작

생성된 명령어:

명령어를 조합해 보세요.

설명:

`wget` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

wget의 재귀적 다운로드 기능을 활용한 다양한 시나리오입니다.

기본 재귀적 다운로드

wget -r http://example.com/docs/

지정된 URL부터 시작하여 모든 하위 링크를 따라가며 파일을 다운로드합니다.

웹사이트 전체 미러링

wget -m -k -p http://example.com/

웹사이트를 로컬에 완벽하게 미러링합니다. 링크를 로컬 경로로 변환하고, 페이지에 필요한 모든 요소를 다운로드하며, 타임스탬프를 사용하여 업데이트된 파일만 다운로드합니다.

특정 깊이까지 다운로드

wget -r -l 2 http://example.com/blog/

재귀 깊이를 2로 제한하여, 시작 URL로부터 2단계까지만 하위 링크를 따라갑니다.

HTML 및 관련 파일 다운로드 (오프라인 보기용)

wget -r -p -k http://example.com/article.html

특정 HTML 페이지와 해당 페이지를 올바르게 표시하는 데 필요한 모든 파일(이미지, CSS, JS 등)을 다운로드하고, 링크를 로컬 경로로 변환합니다.

특정 확장자만 다운로드

wget -r -A "*.pdf,*.doc" http://example.com/documents/

지정된 디렉토리에서 PDF 및 DOC 파일만 재귀적으로 다운로드합니다.

User-Agent 설정 및 robots.txt 무시

wget -r -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" -e robots=off http://example.com/

User-Agent를 설정하고, robots.txt 파일을 무시하여 모든 콘텐츠에 접근합니다. (주의해서 사용)

다운로드 속도 제한 및 대기 시간 설정

wget -r --limit-rate=200k --wait=5 http://example.com/

다운로드 속도를 200KB/s로 제한하고, 각 요청 사이에 5초씩 대기하여 서버에 부담을 줄입니다.

팁 & 주의사항

wget의 재귀적 다운로드 기능은 강력하지만, 서버에 과도한 부하를 주거나 불필요한 데이터를 다운로드할 수 있으므로 주의해서 사용해야 합니다.

주요 팁

  • **서버 부하 방지**: `--wait` 옵션을 사용하여 요청 간 대기 시간을 두어 서버에 과도한 부하를 주지 않도록 합니다. `--random-wait` 옵션으로 무작위 대기 시간을 설정할 수도 있습니다.
  • **`robots.txt` 존중**: 기본적으로 `wget`은 `robots.txt` 파일을 존중합니다. 특별한 이유가 없다면 `-e robots=off` 옵션 사용을 자제하는 것이 좋습니다. 웹사이트 정책을 확인하세요.
  • **User-Agent 설정**: 일부 웹사이트는 특정 User-Agent를 차단하거나 다른 콘텐츠를 제공할 수 있습니다. `--user-agent` 옵션으로 일반적인 브라우저 User-Agent를 설정하면 도움이 될 수 있습니다.
  • **다운로드 깊이 제한**: `-l` 옵션으로 재귀 깊이를 제한하여 불필요한 하위 페이지까지 다운로드하는 것을 방지하고, 디스크 공간 낭비를 막을 수 있습니다.
  • **인증서 경고**: `--no-check-certificate`는 SSL/TLS 인증서 유효성 검사를 비활성화하여 보안 위험이 있습니다. 신뢰할 수 없는 사이트에서는 사용하지 않는 것이 좋습니다.
  • **다운로드 재개**: `-c` 또는 `--continue` 옵션을 사용하여 이전에 중단된 다운로드를 재개할 수 있습니다. 이는 대용량 파일이나 불안정한 네트워크 환경에서 유용합니다.

동일 카테고리 명령어