가끔씩 이 홈페이지는 자주 참고하는데 이를 내 컴퓨터에 옮겨놓고 싶다고 생각되는 경우가 있나? 이때 사용 할 수 있는 것이 바로 지금 소개하는 'wget'이다.하는 일은 MS 윈도우즈의 'Teleport Pro'라는 것과 비슷하다. 이 wget은 한텀상에서 커맨드라인으로 사용하는 것이다.
이 프로그램은 http://www.gun.org/software/wget/wget.html 에서 구할수 있다.
처럼 -'A'옵션을 사용한다. 'A'는 'accept'를 의미한다. 위의 예처럼 원하는 파일의 형식을 나열하면된다. 반대로 일부 파일을 제외하고 싶으면 '-R'옵션을 사용한다. 'R'은 'reject'를 의미한다. 예를 들어
#wget -r -R gif,jpg,jpeg www.ihelpers.co.kr/
라고 하면 파일의 뒷부분의 문자열이 'gif', 'jpg', 'jpeg'인 파일들은 제외하고 나머지 파일들만 불러 온다.
'-L'옵션을 사용하면 상대주소를 이용한 링크들만 불러온다. 다른 호스트에 있는 자료는 당연히 불러오지 않는다. 그런데 대부분의 HTML 내의 링크는 상대주소를 이용할 것으로 생각되기 때문에 크게 중요하지는 않을 것 같다. 'L'은 'leLative'를 의미한다. 아래의 예처럼 사용할 수 있다.
#wget -r -L www.ihelpers.co.kr/
만약 다른 호스트의 자료까지 재귀적 탐색에 넣으려면 'H'옵션을 쓴다. 이는 'span-hosts'를 의미한다.
wget을 실행시켜 보면 메세지가 장황하게 나온다. 메세지를 전혀 나오지 않게 하려면 'quiet'를 의미하는 '-q'옵션을 조금만 나오게 하려면 'non-verbose'를 의미하는 '-nv'옵션을 사용해라
wget은 파일을 불러올 때 컴퓨터 내에 같은 이름의 파일이 존재하면 기존의 파일은 그대로 두고 기존의 이름의 끝에 'roiginal.file.1', 'original.file.2', 이런 식으로 숫자를 붙인 이름으로 복사한다. 만약, 같은 이름이, 파일이 있을 경우 복사해 오지 않게 하려면 'not-clobber'를 위미하는 '-nc' 옵션을 사용하면 된다.
매번 같은 옵션을 커맨드라인에서 사용하기는 번거로울 것이다. 자신의 홈디렉토리에다 '.wgetrc'라는 파일을 만들고 필요한 옵션들을 기록하면 매번 옵션을 주지 않아도 된다.
예를 들면,
accept = htm, html 원하는 파일의 형식을 나열
#reject = 배제하기를 원하는 파일의 형식을 나열
recursive = on 재귀적 탐색 여부
#reclevel = 5 재귀적 탐색의 깊이 레벨
no_parent = on 상위 디렉토리의 파일 배제의 여부
#relative_only = on 상대주소만 포함시킬 것인지의 여부
#verbose = on/off 자세한 설명을 표시할 것인지의 여부
span_host = on/off 다른 호스트도 탐색할 것인지의 여부
#noclobber = on/off 같은 이름의 파일을 복사해 오지 않을 것인지의 여부
#quiet = on/off 메세지를 전혀 보내지 않을 것인지의 여부
4. discussion(토론)
위에서 설명한 옵션을 잘 활용하면 홈페이지에 갱신되는 내용을 웹브라우저로 접근하지 않고서도 가져올 수 있다. 예를 들어, 만약 내가 잘 가는 무료 porn 사이트에 링크된 url에 올려져 있는 동영상을 보고 싶다고 하자. 다음과 같이 wget 명령을 사용한다.
-A, -r, -H는 위에서 설명을 했고, 설명이 안된 옵션을 살펴보면
-l 2 : Recursive depth. 재귀 검색의 깊이 레벨을 지정해 준다. 2로 지정해 주면, 메인 페이지에서 url을 따라가고 그 url에 링크된 비디오 파일을 가져오도록 한다.
-nd : No directoryes. 로칼에 다운받을 때 디렉토리를 생성하지 않고 모든 파일을 같은 디렉토리 안에 넣는다.