HTTP를 통해 웹 사이트를 리핑하여 이미지, HTML 및 CSS 다운로드


22

HTTP를 통해 사이트를 리핑해야합니다. 이미지, HTML, CSS 및 JavaScript를 다운로드하고 파일 시스템으로 구성해야합니다.

누구든지 이것을하는 방법을 알고 있습니까?


2
저작권 침해에이 소프트웨어를 사용하지 않을 것임을 언급해야합니다. 그렇지 않으면 우리는 다른 사람의 콘텐츠를 미러링하여 돈을 벌 수 있다고 가정합니다.
belgariontheking

우리는 한 번 고객이 떠나기를 원했지만 CMS를 버리고 사이트의 정적 HTML 버전을 가져 왔습니다. 정적 사이트를 생성하기 위해 HTTrack을 사용했습니다. Windows 및 Ubuntu에서 잘 작동합니다.
TRiG

4
@belgariontheking : 흥미있는 것은 최악이라고 생각합니다. 또한 WinHTTrack을 사용하여 자체 동적 웹 사이트의 정적 HTML 버전을 다운로드합니다.
엄버 페룰

답변:


40
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com

콘솔에서 실행됩니다.

이렇게하면 사이트를 확보하고 요청 사이에 3 초 동안 기다린 후 다운로드 속도를 제한하여 사이트를 죽이지 않도록하고 브라우저 만 보이도록 사이트를 차단하여 사이트를 차단하지 않습니다. 거머리 방지 메커니즘 사용.

-A다운로드하려는 파일 형식의 목록을 나타내는 매개 변수에 유의하십시오 .

다른 태그를 사용 -D domain1.com,domain2.com하여 다른 서버가 있거나 다른 종류의 파일을 호스팅하기 위해 무엇이든 다운로드하려는 일련의 도메인을 나타낼 수도 있습니다 . 파일을 얻지 못한 경우 모든 경우에 대해이를 자동화하는 안전한 방법은 없습니다.

wget일반적으로 Linux에 사전 설치되어 있지만 다른 Unix 시스템 용으로 간단하게 컴파일하거나 Windows 용으로 쉽게 다운로드 할 수 있습니다. GNUwin32 WGET

이것을 악의가 아닌 선을 위해 사용하십시오.


1
wget -erobots = off --no-parent --wait = 3 --limit-rate = 50K -r -p -U "Mozilla / 4.0 (호환; MSIE 7.0; Windows NT 5.1)"-k-디렉토리 접두사 "C : \ rip"--page-requisites -htm, aspx, php, jsp, asp, zip, png, html, css, js, json, gif, jpeg, jpg, bmp domain.com
Chris S

"Vanity URLs"에서 작동합니까? 소셜 네트워킹 사이트에 작성된 내 콘텐츠 (OK, 노래)가 걱정되어 로컬로 백업하고 싶습니다. 사이트는 "www.example.com"이지만 사용자 이름이 "avi.example.com"인 가상 URL이 있습니다. 전체 사이트를 다운로드하고 싶지 않고 내 콘텐츠 만 다운로드하고 싶습니다.
Avi

Linux에서는 소스에서 wget을 설치하려고 할 수 있습니다. 예를 들어 Ubuntu 버전은 업스트림 wget이 수행하는 동안 CSS를 구문 분석하지 않습니다.
GDR

16

좋은 무료 솔루션 : HTTrack

HTTrack은 무료 (GPL, libre / free 소프트웨어)이며 사용하기 쉬운 오프라인 브라우저 유틸리티입니다.

인터넷에서 로컬 디렉토리로 월드 와이드 웹 사이트를 다운로드하여 재귀 적으로 모든 디렉토리를 작성하고 HTML, 이미지 및 기타 파일을 서버에서 컴퓨터로 가져옵니다. HTTrack은 원본 사이트의 상대 링크 구조를 정렬합니다. 브라우저에서 "미러링 된"웹 사이트의 페이지를 열기 만하면 마치 온라인에서 보는 것처럼 링크에서 링크로 사이트를 탐색 할 수 있습니다. HTTrack은 기존의 미러링 된 사이트를 업데이트하고 중단 된 다운로드를 재개 할 수도 있습니다. HTTrack은 완전히 구성 가능하며 통합 된 도움말 시스템이 있습니다.


7

Linux 시스템에서 'wget'이이를 수행합니다.

다른 답변 중 몇 가지 언급했듯이 여러 다른 플랫폼으로 포팅되었습니다.


Windows WGet

리눅스이기 때문에 아마도 우분투 VM을 만들고 wget을 실행하고 파일을 다시 호스트 컴퓨터로 전송할 것입니다. Windows로 포팅하는 것보다 빠를 것 같습니다. :) (어쨌든 Windows로 포팅하는 것이 좋은 운동 일 것입니다!)
JMD

내 컴퓨터에서 데비안을 실행합니다. wget에게 http 루트 도메인 만 제공하여 관련 하위 디렉토리 / javascript / css / images를 검색하도록 할 수 있습니까?
damon

# example.com의 전체 내용 다운로드 wget -r -l 0 example.com

예 ... 또는 Windows 기본 포트를 사용하거나 Cygwin을 사용하십시오.
Tmdean

2

분명히 WGet은 몇 번 언급되었습니다. 내가 찾은 최고의 UI는

WGet에 대한 다른 UI가 있으며 그중 일부는 최악의 UI 질문에 대한 후보입니다.


1

Firefox 용 Scrapbook 확장 프로그램을 확인하십시오. 이것은 놀라운 일을하고 firebug와 통합되며 원하는 경우 저장하기 전에 DOM에서 요소를 삭제할 수 있습니다.


1

대부분의 플랫폼에서 사용할 수있는 wget을 사용해야합니다. curl은 문서를 재귀 적으로 요청하지 않으며 wget의 주요 강점 중 하나입니다.

Linux : (일반적으로 배포판에 포함되어 있음) http://www.gnu.org/software/wget/
Windows : http://gnuwin32.sourceforge.net/packages/wget.htm
Mac : http : //www.geekology. co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/

웹 사이트를 망치지 않도록 요청 사이에 적절한 지연을 설정하고 사이트의 서비스 약관 내에 있는지 확인하십시오.

-아담


실제로, 우리가 망치는 것은 우리의 서버입니다. 사이트는 PHP를 통해 동적으로 생성되며 CMS / DB는 엉망이되었습니다. 그것은 복잡한 이야기입니다. 저는 방금 도착한 개발자입니다. 하지만 우리는 지금 장고로 모든 것을 만들고 있으므로 걱정할 필요가 없습니다.
damon

1

실제로 GWLlosa의 게시물에서 내 의견을 따라 방금 GnuWin32가 설치되어 있고 Windows 포트 wget이 포함되어 있는지 확인했습니다.

http://sourceforge.net/projects/gnuwin32/

GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP


1

wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com

  • -p : 매개 변수는 wget에게 이미지를 포함한 모든 파일을 포함하도록 지시합니다.
  • -e robots=off : robots.txt 규칙 사이트 무시
  • -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" : 사용자 에이전트 문자열
  • --random-wait : 블랙리스트에 올라가지 않기
  • --limit-rate=20k : 파일 다운로드 속도를 제한합니다.
  • -b : 로그 아웃 한 후 wget을 계속합니다.

이것들은 내가 사용하는 매개 변수입니다. 문제가 발생했을 때 옵션을 추가 -c하거나 --continue프로세스를 다시 시작해야합니다.
kub1x


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.