> 네트워크 관리 > wget

wget -L: 상대 링크만 재귀적으로 다운로드

wget은 웹 서버에서 파일을 비대화형으로 다운로드하는 데 사용되는 강력한 명령줄 도구입니다. `-L` 또는 `--relative` 옵션은 재귀적 다운로드 시 지정된 URL의 상대 링크만 따라가도록 하여, 웹사이트의 특정 섹션이나 내부 링크 구조를 유지하면서 다운로드할 때 유용합니다. 이는 외부 도메인으로의 불필요한 탐색을 방지하여 원하는 콘텐츠만 효율적으로 수집할 수 있게 합니다.

개요

wget의 `-L` 옵션은 재귀적 다운로드(`-r`)와 함께 사용될 때, 현재 도메인 내의 상대 경로 링크만을 추적하도록 지시합니다. 이는 웹사이트의 특정 하위 디렉토리나 구조를 미러링할 때 외부 링크로 인해 불필요한 데이터를 다운로드하는 것을 방지하는 데 핵심적인 역할을 합니다.

주요 특징

  • 상대 링크만 추적하여 외부 도메인으로의 이동 방지
  • 웹사이트의 특정 섹션 미러링에 적합
  • 재귀적 다운로드(`-r`)와 함께 사용 시 강력한 기능 발휘
  • 불필요한 데이터 다운로드 및 대역폭 낭비 방지

주요 옵션

`-L` 옵션은 단독으로 사용되기보다는 다른 `wget` 옵션들과 조합하여 사용될 때 그 진가를 발휘합니다.

링크 추적 및 다운로드

생성된 명령어:

명령어를 조합해 보세요.

설명:

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

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

사용 예시

`-L` 옵션을 활용한 `wget`의 다양한 사용 예시입니다.

상대 링크만 따라 재귀적으로 다운로드

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

지정된 URL에서 시작하여 상대 링크만 따라가며 웹사이트를 재귀적으로 다운로드합니다. 상위 디렉토리로 이동하지 않습니다.

다운로드 후 링크를 로컬에 맞게 변환

wget -r -L -np -k http://example.com/docs/

위 예시와 동일하게 다운로드하되, 다운로드된 HTML 파일 내의 링크를 로컬에서 작동하도록 변환합니다.

특정 디렉토리에 저장

wget -r -L -np -k -P my_docs http://example.com/docs/

다운로드된 모든 파일을 'my_docs'라는 디렉토리 아래에 저장합니다.

다운로드 깊이 제한

wget -r -L -np -l 2 http://example.com/docs/

재귀적 다운로드 시, 시작 URL로부터 2단계 깊이까지만 링크를 따라갑니다.

팁 & 주의사항

wget -L 사용 시 유용한 팁과 주의해야 할 사항들입니다.

효율적인 사용을 위한 팁

  • **`--level` 옵션 활용**: `-l` 옵션으로 재귀적 다운로드의 깊이를 제한하여 불필요한 파일 다운로드를 방지하고 무한 루프를 막을 수 있습니다.
  • **`--wait` 및 `--random-wait`**: 서버에 과부하를 주지 않기 위해 요청 사이에 대기 시간을 두는 것이 좋습니다. 특히 대규모 미러링 시 유용합니다.
  • **`--limit-rate`**: 다운로드 속도를 제한하여 네트워크 대역폭을 효율적으로 관리할 수 있습니다.
  • **`--no-clobber`**: 이미 존재하는 파일을 덮어쓰지 않도록 하여, 중단된 다운로드를 재개하거나 실수로 파일을 손상시키는 것을 방지합니다.

주의사항

  • **서버 부하**: 과도한 재귀적 다운로드는 대상 서버에 부하를 줄 수 있습니다. `--wait` 옵션을 사용하여 요청 간격을 조절하는 것이 좋습니다.
  • **robots.txt 준수**: 대부분의 웹사이트는 `robots.txt` 파일을 통해 크롤링 규칙을 명시합니다. `--execute robots=off` 옵션으로 무시할 수 있지만, 이는 웹사이트 정책 위반이 될 수 있으므로 신중하게 사용해야 합니다.
  • **무한 루프 가능성**: 잘못된 옵션 조합은 무한 루프를 유발하여 시스템 자원을 소모할 수 있습니다. 특히 `-L`과 `-r`을 사용할 때는 `-np`나 `-l` 옵션으로 범위를 명확히 제한하는 것이 중요합니다.

동일 카테고리 명령어