Как скачать список файлов с файлового сервера?

10

Как мне загрузить список файлов с файлового сервера, например, http://www.apache.org/dist/httpd/binaries/ ?

Я полагаю, я мог бы использовать wget, но затем он пытается получить все ссылки, а также HTML-файл. Есть ли лучший инструмент для достижения этой цели?

BinaryMisfit
источник
просто чтобы уточнить ваш вопрос: вы просто хотите список файлов, которые можно загрузить с сервера, а не сами файлы (пока)?
Акира
Каким образом команда типа `wget --no-verbose --spider --no-directoryies --recursive --level = 2 apache.org/ dist/httpd/ binaries` не работает для вас? Если бы вы могли быть более конкретными, это могло бы помочь
DaveParillo

Ответы:

12

Вы можете указать, какие расширения файлов wgetбудут загружаться при сканировании страниц:

wget -r -A zip,rpm,tar.gz www.site.com/startpage.html

это будет выполнять рекурсивный поиск и только скачивать файлы с .zip, .rpmи .tar.gzрасширениями.

Джон Т
источник
8

Предположим, вы действительно хотите получить список файлов на сервере, не загружая их (пока):

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/ 2> & 1 | awk -f filter.awk | уник

в то время как «filter.awk» выглядит так

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^ Длина: [[: digit:]] + / {print u; }

тогда вам, возможно, придется отфильтровать некоторые записи, такие как

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D"
Акира
источник
0

Ссылка: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Вы можете использовать следующую команду:

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>

Пояснения к каждому варианту

  • wget: Простая команда, чтобы сделать запрос CURL и загрузить удаленные файлы на наш локальный компьютер.
  • --execute="robots = off": Это будет игнорировать файл robots.txt при сканировании страниц. Это полезно, если вы не получаете все файлы.
  • --mirror: Эта опция в основном будет отражать структуру каталогов для данного URL. Это сокращение, -N -r -l inf --no-remove-listingкоторое означает:
    • -N: не восстанавливать файлы, если они не новее локальных
    • -r: указать рекурсивную загрузку
    • -l inf: максимальная глубина рекурсии (inf или 0 для бесконечного)
    • --no-remove-listing: не удаляйте файлы .listing
  • --convert-linksсделать так, чтобы ссылки в загруженном HTML или CSS указывали на локальные файлы
  • --no-parent: не подниматься в родительский каталог
  • --wait=5: подождите 5 секунд между поисками. Чтобы мы не трогали сервер.
  • <website-url>Это URL-адрес веб-сайта, с которого можно скачивать файлы.

Счастливого скачивания: smiley:

Удит Десаи
источник