Использование wget для рекурсивной выборки файлов .txt в файл .php, но фильтры нарушают команду - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу загрузить все quality_variant_[accession_name].txt файлы с сайта Salk Arabidopsis 1001 Genomes , используя wget в оболочке Bash.

При выполнении команды, приведенной ниже, интересующие файлы в конечном итоге выводятся (но не загружаются из-за аргумента --spider), демонстрируя, что wget может перемещаться по гиперссылкам страницы на нужные мне файлы.

wget --spider --recursive "http://signal.salk.edu/atg1001/download.php

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

# Arguments in brackets do not impact the performance of the command
wget -r [-e robots=off] [-m] [-np] [-nd] "http://signal.salk.edu/atg1001/download.php"

Однако всякий раз, когда я пытаюсь применить фильтры для извлечения интересующих файлов .txt, будь то --accept-regex, --accept или многих других вариантов, я не могу пройти исходный файл .php.

# This and variants thereof do not work
wget -r -A "quality_variant_*.txt" "http://signal.salk.edu/atg1001/download.php"

# Returns: 
# Saving to: ‘signal.salk.edu/atg1001/download.php.tmp’
# Removing signal.salk.edu/atg1001/download.php.tmp since it should be rejected.

Я мог бы составить список имен доступа и просмотреть эти имена, изменяя URL в команде wget, но я надеялся на динамическую однострочную строку, которая могла бы извлечь все интересующие файлы, даже если идентификаторы доступа были добавлены со временем ,

Спасибо!


Примечание. Интересующие файлы данных содержатся в каталоге http://signal.salk.edu/atg1001/data/Salk/, который также содержит .php или статическую HTML-страницу, которая отображается при посещении этого URL-адреса. Этот URL нельзя использовать в команде wget, потому что, хотя интересующие файлы данных находятся здесь на стороне сервера, страница HTML не содержит ссылок на эти файлы, а содержит ссылки на другой набор .txt файлов, которые мне не нужны .

...