Jak pobrać listę plików z serwera plików?

10

Jak mam pobrać listę plików z serwera plików takiego jak ten http://www.apache.org/dist/httpd/binaries/ ?

Przypuszczam, że mógłbym użyć wget, ale potem próbuje uzyskać wszystkie linki i plik HTML. Czy istnieje lepsze narzędzie do osiągnięcia tego?

BinaryMisfit
źródło
aby wyjaśnić swoje pytanie: chcesz tylko listę plików, które można pobrać z serwera, a nie same pliki (jeszcze)?
akira
W jaki sposób polecenie takie jak `wget --no-verbose --spider --no-directories --recursive --level = 2 apache.org/ dist/httpd/ binaries` nie działa dla ciebie? Jeśli możesz być bardziej konkretny, to może pomóc
DaveParillo

Odpowiedzi:

12

Możesz określić, jakie rozszerzenia plików wgetbędą pobierane podczas indeksowania stron:

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

to wykona rekurencyjnego wyszukiwania i tylko pobierać pliki z .zip, .rpmi .tar.gzrozszerzeń.

John T.
źródło
8

załóżmy, że naprawdę chcesz tylko listę plików na serwerze bez ich pobierania (jeszcze):

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/ 2> i 1 | awk -f filter.awk | uniq

podczas gdy „filter.awk” wygląda tak

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = 3 $; }
/ ^ Długość: [[: cyfra:]] + / {print u; }

wtedy prawdopodobnie będziesz musiał odfiltrować niektóre wpisy, takie jak

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D"
akira
źródło
0

Patrz: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Możesz użyć następującego polecenia:

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

Objaśnienie każdej opcji

  • wget: Proste polecenie, aby wysłać żądanie CURL i pobrać zdalne pliki na nasz komputer lokalny.
  • --execute="robots = off": To zignoruje plik robots.txt podczas przeszukiwania stron. Jest to pomocne, jeśli nie otrzymujesz wszystkich plików.
  • --mirror: Ta opcja będzie zasadniczo odzwierciedlać strukturę katalogów dla podanego adresu URL. Jest to skrót, -N -r -l inf --no-remove-listingktóry oznacza:
    • -N: nie pobieraj ponownie plików, chyba że nowsze niż lokalne
    • -r: określ pobieranie rekurencyjne
    • -l inf: maksymalna głębokość rekurencji (inf lub 0 dla nieskończoności)
    • --no-remove-listing: nie usuwaj plików „.listing”
  • --convert-links: twórz linki w pobranym HTML lub CSS wskazują na pliki lokalne
  • --no-parent: nie wchodź do katalogu nadrzędnego
  • --wait=5: poczekaj 5 sekund między pobraniem. Abyśmy nie przerzucili serwera.
  • <website-url>: To jest adres strony internetowej, z której można pobrać pliki.

Happy Download: buźka:

Udit Desai
źródło