일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Web Programming
- 고전게임
- c#
- retropie
- 보안
- Lenovo D330-10igm
- D330-10igm
- 셀프인테리어
- 인테리어
- 안드로이드
- 웹
- ASP.NET
- 진단항목
- WEB
- fiddler
- 윈도우 8
- 피들러
- HTML5
- D330
- network
- 네트워크
- 이보드
- 한컴오피스
- ubuntu
- 인증 및 세션관리
- 자바스크립트
- 단열
- 고전게임기 만들기
- 우분투
- 문자열
- Today
- Total
Kinesis´s Open Document
WGET : wget 명령어를 이용해 디렉토리 및 사이트 일괄 다운로드 받기 본문
다음과 같은 필요가 발생할 경우 직접적으로 하나씩 다운로드 받는것은 누락되는 부분이 있을 수 있고 불필요한 인력비용 및 시간이 많이 소요된다.
디렉토리 인덱싱이 가능한 페이지 또는 디렉토리 내 파일 다운로드 받기
스크랩 하고자 하는 사이트의 링크등을 일괄적으로 다운로드 받기
만약 이와 같은 필요가 발생할 경우 어떠한 방법으로 파일 및 페이지를 다운로드 받을 수 있을까? 이 경우 wget 이라는 명령어를 활용한다면 일괄적으로 다운로드가 가능하다. 리눅스에서는 wget 을 apt-get 또는 yum 을 통해 설치 후 사용할 수 있고, 윈도우의 경우도 wget 파일을 다운로드 받아 설치 후 이용을 할 수 있다.
특정 URL을 바탕으로 해당 경로 또는 페이지와 연관된 파일들을 다운로드 받기 위해서는 다음과 같은 명령어를 사용할 수 있다.
root@localhost:/# wget -r -l 99 "http://target"
여기서 -r 스위치 옵션은 하위 디렉토리가 존재하는 경우 하위 디렉토리까지 접근하여 다운로드 하라는 명령이고 -l (L 소문자) 의 경우 다운로드 받을 링크 레벨을 몇개까지 허용할 것인가라는 것으로 내려받을 링크의 단계를 설정하면 된다.
만약 svn 등을 이용해 인증이 필요한 페이지에서 이미 로그인을 한 경우 네트워크 패킷을 확인하면 인증된 값을 확인해 볼 수 있는데, 이 경우 요청시 Authorization 라는 헤더 값이 전달된다. 단순히 로그인을 이용하는 방법도 있으나 직접 요청 헤더에 값을 추가하는 방법을 이용할 경우 다음과 같은 방법도 사용 가능하다. (다음의 명령어 참조)
root@localhost:/# wget -r -l 99 "http://target/svn/repos/" --header="Authorization: Basic abcdefghijklmnopqrstuvwxyzAB"
경우에 따라서 robots.txt 에 의한 접근 제어로 파일을 다운로드 받지 못하는 경우가 발생할 수 있다. 이 경우에는 -e robots=off 스위치 옵션을 줄경우 robots.txt 정의는 무시한 채 다운로드 작업을 수행할 수 있다. (다음의 명령어 참조)
root@localhost:/# wget -r -l 99 "http://target/svn/repos/" --header="Authorization: Basic abcdefghijklmnopqrstuvwxyzAB" -e robots=off
또 다른 경우로 Repository 경로를 지정하였으나 상위 Root로 가는 링크가 있거나 하는 경우 불필요하게 상위에 존재하는 소스나 페이지까지 다운로드가 발생하여 내가 원하는 부분만을 빠르게 얻지 못하고 지연이 되는 경우가 발생할 수 있는데, 이 경우 -np 스위치 옵션을 주는 경우 지정한 경로보다 상위 경로에 있는 내용은 다운로드 하지 않게 된다. (다음의 명령어 참조)
root@localhost:/# wget -r -l 99 "http://target/svn/repos/" --header="Authorization: Basic abcdefghijklmnopqrstuvwxyzAB" -e robots=off -np
만약 상대경로만 다운로드 받고 외부 링크를 참조하기 위해 전체 경로가 적혀 있는 등의 상황에 대비하고자 한다면 -L 스위치를 주면 절대경로로 되어 있는 링크는 무시하고 상대경로로 참조된 페이지 또는 파일 등만 다운로드 받게 할 수도 있다. (다음의 명령어 참조)
root@localhost:/# wget -r -l 99 "http://target/svn/repos/" --header="Authorization: Basic abcdefghijklmnopqrstuvwxyzAB" -e robots=off -np -L
얼추 이정도만 알고 있어도 필요한 파일을 다운로드하는데는 큰 문제는 없다.
나머지 옵션은 기본 교양지식에 따라 "문자열*" 이나 "*.xml" 같은 패턴을 이용하는 등의 활용방법을 적절히 이용하도록 한다.
'MEMO/기술 자료 > Other' 카테고리의 다른 글
Memo - Unreal Engine 5 AES Key (0) | 2024.09.13 |
---|---|
WIPS의 핫스팟(hotspot) 및 테더링(tethering) 차단 우회 (2) | 2016.11.16 |
씨모스(CMOS) 비밀번호을 포함한 모든 값 초기화 (0) | 2016.11.16 |
[PPT/PNG] 웹통신 교육 자료 (0) | 2014.02.20 |
03.04.2013 - HTML5 and WebPlatform (0) | 2013.03.04 |
티스토리 스킨(Tistory Skin) 제작 노트 (18) | 2012.10.17 |
3Ds Max 독학 일지 그 두번째 - 2012.09.11 (0) | 2012.09.12 |
3Ds Max 독학 일지 그 첫번째 - 2012.09.10 (0) | 2012.09.11 |