Гиперссылки фильтра от веб-страницы и загрузки все это соответствие определенный шаблон

Если Ваша единственная проблема с sudo должен использовать пароль, можно добавить NOPASSWD тег в Вашем sudoers файл. Вы хотите

some_user ALL = (ALL) NOPASSWD:/path/to/adduser
3
09.03.2015, 17:07
2 ответа

WGET включает в себя функции для поддержки этого напрямую:

wget -r -A "*.ai,*.cdr" 'address-of-page-with-hyperlinks'

-R включает рекурсивный режим, чтобы он загрузил больше, чем Данный URL, а - - ограничивает файлы, которые он будет загружать и сохранить в конце.

7
27.01.2020, 21:12
  1. Прочитайте страницу с фильтром Curl

  2. для гиперссылок GREP . Обратите внимание, что это использует тот факт, что все они полностью отформатированы последовательно (как ). На самом деле следует использовать Passer HTML / XML для чего-либо еще немного сложнее.

  3. Отрежьте адрес гиперссылки с помощью GREP -O , фильтрация с помощью GREP еще раз, чтобы извлечь только ссылки, которые целью, которая имеет желаемое расширение (ы) и протокол (ы).

  4. Скачать эти полученные файлы с помощью WGET (или Curl также могут быть использованы, если вывод был указан). Кроме того, мы ECHO URL к консоли.

Обратите внимание, что наша фильтрация в сценарии не в том же порядке, что и выше, для удобства.

Bash :

#!/bin/bash
while read url; do
    # Echo URL to terminal
    echo "${url}"
    # Download files
    wget -q "${url}"
done < <(
    # Get page
    curl -s 'address-of-page-with-hyperlinks' | \
    # Filter hyperlinks
    grep -Po 'href="http://[^"]+\.(cdr|ai)"' | \
    grep -Po 'http://[^"]+'
)
0
27.01.2020, 21:12

Теги

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