wget의 대안

wget의 대안

저는 기본적으로 HTML 페이지, 이미지 및 사운드로 구성된 웹사이트를 서버에 운영하고 있습니다.

이 서버의 비밀번호를 잊어버렸는데 모든 것을 거기에 저장해야 합니다. 페이지를 하나씩 살펴보고 모든 내용을 저장할 수 있지만 사이트의 페이지가 100페이지가 넘습니다.

저는 OSX를 사용하고 있습니다. 를 사용해 보았 wget으나 서버에서 차단한 것 같습니다.

이 콘텐츠를 얻기 위해 사용할 수 있는 다른 방법이 있습니까?

답변1

서버가 wget을 차단하는 경우 http 헤더의 "User-agent:" 필드를 기반으로 차단할 가능성이 높습니다. 왜냐하면 그것이 처음에 wget에 대해 알 수 있는 유일한 방법이기 때문입니다. 또한 IP를 차단할 수도 있는데, 이 경우 다른 소프트웨어를 사용하는 것이 도움이 되지 않거나, 일련의 요청 속도를 기반으로 자동화를 식별하는 일부 계획이 있습니다(실제 사람들은 3.2초 안에 100페이지를 탐색하지 않기 때문입니다). 나는 누군가가 이것을 한다는 것을 들어본 적이 없지만 가능합니다.

wget 속도를 늦추는 방법은 들어본 적이 없지만 사용자 에이전트 필드를 스푸핑하는 방법은 있습니다.

wget --user-agent=""

매뉴얼 페이지에 따르면 "User-agent:"는 필수 사항이 아니므로 완전히 제거됩니다. 서버가 이것이 마음에 들지 않으면 --user-agent="Mozilla/5.0"어느 것이 충분히 좋은지 시도해보십시오.

물론 "서버가 차단되고 있다고 생각하는" 이유를 더 잘 설명하면 도움이 될 것입니다. 무슨 말이라도 한 걸까요, 아니면 그냥 시간이 초과된 걸까요?

답변2

나는 보통 사용한다httrack사이트에서 웹 콘텐츠를 다운로드/미러링하는 데 사용됩니다.

$ httrack http://2011.example.com -K -w -O . -%v --robots=0 -c1 %e0

실행한 후에는 로컬 및 탐색 가능한 디렉터리 구조를 얻게 됩니다. 예를 들어:

$ ls -l
total 304
-rw-r--r--  1 saml saml   4243 Aug 17 10:20 backblue.gif
-rw-r--r--  1 saml saml    828 Aug 17 10:20 fade.gif
drwx------  3 saml saml   4096 Aug 17 10:20 hts-cache
-rw-rw-r--  1 saml saml    233 Aug 17 10:20 hts-in_progress.lock
-rw-rw-r--  1 saml saml   1517 Aug 17 10:20 hts-log.txt
-rw-------  1 saml saml 271920 Aug 17 10:22 hts-nohup.out
-rw-r--r--  1 saml saml   5141 Aug 17 10:20 index.html
drwxr-xr-x 10 saml saml   4096 Aug 17 10:21 2011.example.com

다운로드하면 다음 유형의 출력이 표시됩니다.

Bytes saved:    21,89KiB           Links scanned:   12/45 (+4)
Time:   2s                         Files written:   4
Transfer rate:  2,65KiB/s (2,65KiB/s)  Files updated:   1
Active connections:     1          Errors:  7

Current job: parsing HTML file (57%)
 request -  2011.example.com/cgi-bin/hostnames.pl   0B /    8,00KiB

백그라운드에서 실행되거나 일시 중지된 후 다시 시작될 수 있습니다. 이는 그 능력의 빙산의 일각에 불과합니다. 다운로드를 설정하고 다운로드 진행 상황을 모니터링하기 위한 GUI도 있습니다.

에 대해 많은 것이 있습니다httrack웹사이트그리고 구글링했다.

관련 정보