Создание 'wget' не сохраняет страницу

Это - то, для чего была изобретена 'экранная' утилита. Хотя я использовал его главным образом на Linux, нет абсолютно никакой причины, порт для Вашей ОС не мог существовать. Это - часть комплекта инструментальных средств гну, и я не нашел порт, но каждый, вероятно, существует (или мог).

68
задан 10 October 2009 в 05:05
9 ответов

Можно перенаправить вывод wget к/dev/null (или NUL в Windows):

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

Файл не будет записан в диск, но он будет загружен.

83
ответ дан 28 November 2019 в 19:29

Если Вы не хотите сохранить файл, и Вы приняли решение загрузки страницы в /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 страницу справочника для дальнейших опций играть с.
Посмотрите lynx также, как альтернатива wget.

32
ответ дан 28 November 2019 в 19:29

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

17
ответ дан 28 November 2019 в 19:29

Другая альтернатива должна использовать инструмент как curl, который выводами по умолчанию удаленное содержание к stdout вместо того, чтобы сохранить его в файл.

9
ответ дан 28 November 2019 в 19:29

Проверьте "-паук" опция. Я использую его, чтобы удостовериться, что мои веб-сайты произошли и посылают мне электронное письмо, если они не. Это - типичная запись от моего crontab:

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
4
ответ дан 28 November 2019 в 19:29

Используйте - удаляют - после опции, которая удаляет файл после того, как это загружается.

Править: Ой, я просто заметил, что этому уже ответили.

2
ответ дан 28 November 2019 в 19:29

В случае, если Вы также хотите распечатать в консоли результат, можно сделать:

wget -qO- http://www.example.com
15
ответ дан 28 November 2019 в 19:29

Если вам нужно сканировать веб-сайт с помощью wget и вы хотите минимизировать отток диска ...

Для ящика * NIX и использования wget я предлагаю пропустить запись в файл. В своем Ubuntu 10.04 я заметил, что wget -O / dev / null заставляет wget прерывать загрузку после первой загрузки.
Я также заметил, что wget -O real-file заставляет wget забывать фактические ссылки на странице. Он требует, чтобы на каждой странице присутствовал index.html . Такие страницы могут не всегда присутствовать, и wget не запомнит ссылки, которые он видел ранее.

Лучшее, что я придумал для сканирования без записи на диск, - это

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

Обратите внимание, что нет файла -O вариант. wget выполнит запись в каталог $ PWD. В данном случае это файловая система tmpfs только для ОЗУ. Запись здесь должна обходить отток диска (в зависимости от пространства подкачки) И отслеживать все ссылки. Это должно успешно просканировать весь веб-сайт.

После этого, конечно,

 rm --recursive --force /dev/shm/1/*
3
ответ дан 28 November 2019 в 19:29

Согласно справочной документации (wget -h), вы можете использовать параметр --spider, чтобы пропустить загрузку (версия 1.14).

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

0
ответ дан 28 November 2019 в 19:29

Теги

Похожие вопросы