скачать pdf-файлы с помощью curl

Как загрузить hundereds .pdf-файлов с http://www.ncbi.nlm.nih.gov/pmc/articles с помощью цикла, например, для следующих идентификаторов документов:

PMC3386155 PMC3625956 PMC3477654 PMC3531051 PMC3114846 PMC3117879 PMC3130560 PMC3531173 PMC3546115 PMC3354575 PMC3771521 

One Solution collect form web for “скачать pdf-файлы с помощью curl”

Вот рабочий протестированный скрипт

Использование wget

 #!/usr/bin/env bash Link="http://www.ncbi.nlm.nih.gov/pmc/articles/" ID=( PMC3386155 PMC3625956 PMC3477654 PMC3531051 PMC3114846 PMC3117879 PMC3130560 PMC3531173 PMC3546115 PMC3354575 PMC3771521 ) for f in ${ID[@]}; do wget --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" \ -l1 --no-parent -A.pdf ${Link}${f}/pdf/ -O ${f}.pdf done 

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

Использование Curl

 ID=( PMC3386155 PMC3625956 PMC3477654 PMC3531051 PMC3114846 PMC3117879 PMC3130560 PMC3531173 PMC3546115 PMC3354575 PMC3771521 ) Link="http://www.ncbi.nlm.nih.gov/pmc/articles/" Args='-O -J -L -A "Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"' printf "%s\n" ${ID[@]} | xargs -n1 -I{} echo curl $Args ${Link}'{}'/pdf/ | sh 

Некоторые объяснения

  • -O Выходной файл
  • -J Выходное имя файла из имени удаленного заголовка ( curl 7.21.2 или curl 7.21.2 )
  • -L Удаленный сайт перенаправлен на другую страницу загрузки, чтобы использовать это
  • -A Пользовательский агент
  • Загрузите файлы в формате pdf и zip с помощью wget с веб-сайта php
  • Как загрузить все файлы, связанные с веб-сайтом с помощью wget
  • Почему wget -r не получает все подкаталоги FTP?
  • Как сделать локальное зеркало веб-сайта с всплывающим окном подтверждения?
  • Не удалось загрузить содержимое веб-сайта
  • запустить две команды в отключенном экране
  • Загрузите контент из определенного <div> с помощью wget
  • замена внутри параллельной командной строки
  • Что такое curl-эквивалент этой команды wget?
  • Записать wget link-rewrite обо всех загруженных файлах
  • Как загрузить архив и извлечь его, не сохраняя архив на диск?
  • Interesting Posts

    Как ключи сеанса, общедоступные / частные ключи, сгенерированные на сервере и клиенте ssh, и используются?

    Как преобразовать многострочный оператор if в одну строку if, используя скрипт unix?

    Что такое распределение памяти по умолчанию для процесса оболочки linux

    Какая файловая система (только для XFS, BTRFS и EXT4) обеспечивает наилучшую устойчивость к повреждению диска?

    Команда Unix для возврата всех файлов, которые заканчиваются одной цифрой и расширением TXT

    Ошибка «Malformed patch» при использовании diff для источника wget с патчем

    Является ли использование исходного файла, уже полученного в родительском скрипте, необязательным?

    Оболочка shellscript дает ошибку

    Содержимое домашнего каталога root в OSX

    find: отсутствует аргумент `-exec 'в Cygwin

    Как перейти с терминала Xterm на терминал по умолчанию в Ubuntu 16.04

    найти файлы с более высоким разрешением, чем xxx

    Два пальца, чтобы щелкнуть по Wayland

    Heartbeat не работает. Порт не открыт

    'dd' raw диски для lvm неэффективны. Есть ли способ лучше?

    Linux и Unix - лучшая ОС в мире.