Как я могу использовать wget для создания списка URL-адресов из index.html?

Таким образом, wget имеет возможность рекурсивно загружать файлы, однако он делает это по одному файлу за раз.

Я хотел бы передать URL-адрес каталога, и для каждого URL-адреса он встречается в рекурсии, чтобы он не запускал процесс загрузки.

Один из способов, который я собирался сделать, – это как-то использовать wget для распечатки URL-адресов, с которыми он сталкивается, и затем загружать эти URL-адреса в отдельные экземпляры wget (через wget URL_1 & , wget URL_2 & т. Д.).

Есть идеи?

3 Solutions collect form web for “Как я могу использовать wget для создания списка URL-адресов из index.html?”

Используйте grep с ним:

 wget url -rqO - | grep -oE '[az]+://[^[:space:]"]+' 

Один из способов решения этой проблемы – собрать все ссылки в текстовом файле и сделать следующее: –

 while read line; do echo "Downloading ${line}" wget $line & done < $1 

Сохраните этот файл как script.sh и сделайте его исполняемым и запустите его как

 $ ./script.sh 

Лучший способ решить эту проблему надолго – переписать wget как неотъемлемо параллельную.

В моем случае он работал путем объединения двух wget s:

 $ wget -O - -o /dev/null http://site.to.get.urls.from | grep -o 'some_regex' | wget -i - 

Первый wget создаст список URL-адресов с файлами, который используется в качестве входного «файла» для второго wget .

Обратите внимание, что это упрощенная версия, чтобы показать вам технику. Труба между командой grep и второй командой wget на самом деле может быть объединена с другими командами, такими как sed , awk или cut (особенно если исходный код HTML немного сложнее обычного, и поэтому синтаксический анализ сложнее).

Это гласит : всегда убедитесь, что сначала вызываете внутренний wget автономно, чтобы проверить на стандартном уровне, что ваши регулярные выражения () работают корректно.

  • Изменение разрешений по умолчанию для wget?
  • Как удалить BOOST 1.49 и установить BOOST 1.54 в ubuntu?
  • Загрузите сразу несколько URL-адресов
  • зеркало сайта с wget, что только ответ с gzip
  • В чем смысл wget -O -
  • Есть ли параллельный wget? Что-то вроде fping, но только для загрузки?
  • Что такое curl-эквивалент этой команды wget?
  • попробуйте загрузить файл с сервера, если известен путь
  • Объединить аргумент xargs с некоторым текстом
  • Почему возможно> / dev / null 2> & 1 не работает?
  • Сообщение об ошибке «короткая запись» с wget
  • Linux и Unix - лучшая ОС в мире.