У Wget возникли проблемы с сохранением файлов, которые я хочу - исключить каталоги, похоже, не работает


1

Я хочу загрузить все государственные расходы свыше 500 фунтов стерлингов Министерством энергетики и изменения климата. Это файлы .xls и .xlsx, генерируемые один раз в месяц. Они хранятся в таких местах, как это:

https: // www.gov.uk/government/uploads/system/uploads/attachment_data/file/209425/20130627_April_2013_PUS_.xls

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

https: // www.gov.uk/government/publications/departmental-spend-over-500-april-2013

который в свою очередь ссылается на страницу индекса, которая:

https://www.gov.uk/government/collections/departmental-spend-over-500

Эта команда работает:

wget -r --force-html -e robots=off -A xls,xlsx,"" -l 2
https://www.gov.uk/government/collections/departmental-spend-over-500

но наряду с файлами .xls и .xlsx я получаю полный каталог сайта .gov.uk (с глубиной двух ссылок, с которого я начал), который загружает ~ 100 МБ текстовых / html-файлов, отличных от .xls что немного чрезмерно Итак, мой вопрос:

Как я могу сделать wget только источник из каталогов выше или альтернативно исключить очевидные, которые я не хочу?

Я пробовал очевидные команды -I и -X, -D и т.д., но безуспешно. NB. Я должен был включить "", а также файлы xls в ключ -A, иначе он игнорировал бы связывающие файлы html ...

Любой совет с благодарностью получен! Это на Mac, кстати.

Ответы:


1

Ха! Наконец-то все получилось. Во включаемом файле вы должны включить полный путь для всех каталогов, но НЕ URL:

wget -r -A xls,xlsx,"" -l 2 -I /government/uploads/system/uploads/attachment_data/file/,/government/publications/,/government/collections/departmental-spend-over-500 https://www.gov.uk/government/collections/departmental-spend-over-500

Не очевидно - ну, не для меня в любом случае ...

(прокрутите прямо в поле кода, чтобы увидеть все это)

Изменить: На самом деле лучше - я разделил это здесь:

wget -r -A xls,xlsx,"" -l 2 
-I /government/uploads/system/uploads/attachment_data/file/,
   /government/publications/,
   /government/collections/departmental-spend-over-500
https://www.gov.uk/government/collections/departmental-spend-over-500

Строка 1: рекурсивная, включает в себя xls & xlsx & файлы, которые не имеют расширений (- в данном случае html-файлы ...) и выполняют два уровня, указанных в строке 5

Строки 2-4: включить эти пути / каталоги из верхнего URL (т.е. исключить все остальное)

Строка 5: с чего начать

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.