페이지를 저장하지 않는 wget 만들기


68

wget프로그램을 사용하고 있지만 다운로드하는 html 파일을 저장하지 않기를 원합니다. 수령 후 폐기하고 싶습니다. 어떻게합니까?


저는 Linux를 처음 사용합니다. /dev/null작동합니까?
Ram Rachum 2009

2
그렇다면 다운로드 시점은 무엇입니까?
Anonymous

1
@Anonymous 나는 원격 서버에 스트레스를가한다고 가정한다. 만약 당신이 컨텐츠에 신경 쓰지 않는다면 .. 아마도 아마도 apachebench (ab)를 사용할 것이다.
Tom O'Connor

답변:


83

wget의 출력을 / dev / null (또는 Windows의 경우 NUL)로 리디렉션 할 수 있습니다.

wget http://www.example.com -O /dev/null

파일은 디스크에 기록되지 않지만 다운로드됩니다.


이것은 페이지를 저장하지 않지만 나에게 이메일을 보냅니다. 또한 이메일 전송을 비활성화 할 수 있습니까?
trante

32

파일을 저장하지 않고, 당신이 페이지를 다운로드하는 솔루션을 수락 한 경우에 /dev/null, 나는 당신이 얻을 및 페이지 내용을 구문 분석하지 wget과를 사용하는 가정 .

원격 작업을 트리거 해야하는 경우 페이지가 존재하는지 확인하십시오. 그렇기 때문에 html 본문 페이지를 다운로드하지 않는 것이 좋습니다.

함께 플레이 wget등 단지 당신이 정말로 필요, 즉 HTTP 헤더, 요청 상태를 검색하기 위해 옵션

  • 페이지가 정상인지 확인해야한다고 가정하면 (즉, 반환 된 상태가 200 임) 다음을 수행 할 수 있습니다.

    wget --no-cache --spider http://your.server.tld/your/page.html
    
  • 서버 리턴 헤더를 구문 분석하려면 다음을 수행하십시오.

    wget --no-cache -S http://your.server.tld/your/page.html
    

사용할 추가 옵션에 대해서는 wget 매뉴얼 페이지 를 참조하십시오 . wget의 대안으로
참조하십시오 lynx.


혼란 스러워요. --no-cache매뉴얼 페이지에서 wget이 "원격 서비스에서 파일을 가져 오기 위해 적절한 지시문 ( 'Pragma : no-cache')을 원격 서버로 보냅니다"
Gaia

서버에 클라이언트가 파일의 캐시 된 버전을 원하지 않는다고 말합니다. 요청한 리소스의 마지막 릴리스를
원합니다

17

$ wget http://www.somewebsite.com -O foo.html --delete-after


1
고마워 이 --delete-after옵션은 재귀 적으로 다운로드해야하지만 실제 내용을 삭제하려는 경우에 선택됩니다.
egelev

+1,이 명령은 직관적입니다. 한 눈에, 앞으로 일어날 일을 더 빨리 이해할 수 있습니다-O /dev/null
fusion27

15

콘솔에서 인쇄하려는 경우 결과는 다음과 같습니다.

wget -qO- http://www.example.com

1
이 옵션이 가장 좋습니다. 그것이 무엇을 얻었는지 보지만 저장하지는 않습니다. 스위치는 특히 자동 q모드 (진행 및 기타 정보를 출력하지 않음) 및 O-검색된 문서를 콘솔에 기록합니다.
Octopus

9

다른 대안은 curl기본적으로 원격 컨텐츠를 stdout파일로 저장하는 대신 출력 하는 툴과 같은 도구를 사용하는 것입니다.


4

"스파이더"옵션을 확인하십시오. 나는 그것을 사용하여 내 웹 사이트가 작동하는지 확인하고 그렇지 않은 경우 나에게 이메일을 보냅니다. 이것은 내 crontab의 일반적인 항목입니다.

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi

3

wget을 사용하여 웹 사이트를 크롤링하고 디스크 이탈을 최소화하려면 ...

* NIX 상자 및를 사용 wget하는 경우 파일에 쓰지 않는 것이 좋습니다. Ubuntu 10.04 상자 wget -O /dev/null에서 첫 번째 다운로드 후 wget이 다운로드를 중단 시키는 것을 알았습니다 .
또한 wget -O real-filewget이 페이지의 실제 링크를 잊어 버린 것으로 나타났습니다 . index.html각 페이지에 존재 한다고 주장 합니다. 이러한 페이지가 항상 존재하는 것은 아니며 wget은 이전에 본 링크를 기억하지 않습니다.

디스크에 쓰지 않고 크롤링하는 경우 가장 좋은 것은 다음과 같습니다.

 mkdir /dev/shm/1   
 cd /dev/shm/1
 wget --recursive --relative --no-parent ...

-O file옵션 이 없습니다 . wget은 $ PWD 디렉토리에 씁니다. 이 경우에는 RAM 전용 tmpfs 파일 시스템입니다. 여기서 쓰는 것은 스왑 공간에 따라 디스크 이탈을 우회하고 모든 링크를 추적해야합니다. 전체 웹 사이트를 성공적으로 크롤링해야합니다.

물론 물론

 rm --recursive --force /dev/shm/1/*

2

파일을 다운로드 한 후 삭제하는 --delete-after 옵션을 사용하십시오.

편집 : 죄송합니다. 방금 답변을 받았습니다.


0

도움말 doc (wget -h)에 따르면 --spider 옵션을 사용하여 다운로드 (버전 1.14)를 건너 뛸 수 있습니다.

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.


이것은 --spider를 언급하는 다른 답변에 어떻게 추가됩니까?
Ward
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.