개요
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` 옵션을 사용하여 이전에 중단된 다운로드를 재개할 수 있습니다. 이는 대용량 파일이나 불안정한 네트워크 환경에서 유용합니다.