2013-04-06 5 views
2

셸 스크립트에 웹 페이지 (CSS, 이미지 및 JS와 같은 모든 미디어 리소스)의 정적 복사본을 만들어야합니다. 이 사본은 모든 브라우저에서 오프라인으로 열 수 있어야합니다.UNIX 명령 행/셸 스크립트에서 웹 페이지의 정적 복사본 만들기

일부 브라우저는 페이지에서 폴더를 만들고이 폴더의 상대 정적 리소스로 외부 리소스를 다시 쓰는 유사한 기능 (다른 이름으로 저장 ... 웹 페이지)을 가지고 있습니다.

Linux 명령 줄에서 주어진 URL로이를 수행하고 자동화하는 방법은 무엇입니까?

+0

http://stackoverflow.com/questions/400935/how-do-i-completely-mirror-a-web-page에서 답변을 시도 했습니까? – harpun

답변

3

당신은 할 사이트를 미러링 도구 wget를 원하는 :

$ wget -mk http://www.example.com/ 

옵션 :

-m --mirror 미러링에 적합한 옵션에 대한

의 전원을 켭니다. 이 옵션은 재귀 및 타임 스탬프를 사용하고 무한 재귀 수준을 설정하며 FTP 디렉토리 목록을 유지합니다. 현재 -r -N -l inf -no-remove-listing과 동일합니다.

-k --convert - 링크

다운로드가 완료되면

, 지역 시청에 적합하도록 문서의 링크를 변환합니다. 이 스타일 시트, HTML이 아닌 콘텐츠에 하이퍼 링크 등으로 연결하지 에만 볼 하이퍼 링크하지만, 임베디드 이미지와 같은 외부 콘텐츠에 대한 링크 문서의 어떤 부분에 영향을

+0

--adjust-extension 플래그를 정적 복사본에 사용하는 것이 좋습니다. 이 플래그가 없으면'index.html? id = 2'와 같은 질의로 끝나는 URL은'index.html? id = 2'라는 파일로 나오고 열 파일로 인식되지 않습니다 브라우저. 플래그를 사용하면 결과 파일의 이름은'index.html? id = 2.html'입니다. –

4

당신이 할 수있는 이 같은 wget을 사용

wget --recursive --convert-links --domains=example.org http://www.example.org 

이 명령을 반복적으로 example.org 도메인 외부 링크 다음하지 www.example.org에서 페이지에서 하이퍼 링크로 연결할 수있는 페이지를 다운로드합니다.

재귀 제어에 대한 추가 옵션은 wget 매뉴얼 페이지를 확인하십시오.