Как проверить веб-сайт с помощью wget, пока 300 страниц HTML не сохраняются

Я хочу проверить веб-сайт рекурсивно с помощью wget в Ubuntu и остановить ее после того, как 300 страниц будут загружены. Я только сохранил файл HTML страницы. В настоящее время это - команда, которую я использую:

wget -r --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL --follow-tags=a

Я хочу, чтобы код так или иначе считал файлы HTML в локальном DIR и если счетчик показывает 300, остановите проверку. Там должен так или иначе сделать это?

1
задан 14 March 2020 в 20:57

1 ответ

Вы могли попробовать что-то вроде этого:

  1. фон Ваш wget управляйте и запишите его PID ($!)

  2. настройте inotifywatch на каталоге получения для подсчета файлов

  3. уничтожьте wget обработайте, когда количество превысит порог

Проиллюстрировать, с помощью функции оболочки для моделирования рекурсивного wget:

#!/bin/bash

local_dir=tmp

wgetcmd() {
  local i=0

  while :
  do 
    # simulate page download
    echo "Downloading... $((++i))"
    touch "$local_dir/file${i}.html"
    sleep 2
  done
}

wgetcmd & pid=$!

j=1
while kill -s 0 $pid && read path action file
do
  if (( ++j >= 30 )); then
    echo "Reached page limit"
    kill $pid
    break;
  fi
done < <(inotifywait -m "$local_dir" -e close_write)
1
ответ дан 17 March 2020 в 00:01

Другие вопросы по тегам:

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