Jak pobrać katalog HTTP ze wszystkimi plikami i podkatalogami, które pojawiają się na liście plików/folderów online?

Istnieje katalog HTTP online, do którego mam dostęp. Próbowałem pobrać wszystkie podkatalogi i pliki przez wget. Ale problem polega na tym, że gdy wget pobiera podkatalogi, pobiera indeks.plik html zawierający listę plików w tym katalogu bez pobierania samych plików. Czy istnieje sposób na pobranie podkatalogów i plików bez limitu głębokości (tak jakby katalog, który chcę pobrać, to tylko folder, który chcę skopiować do mojego komputer).

internetowy katalog HTTP

Author: Omar, 2014-05-03

5 answers

Rozwiązanie:

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

Wyjaśnienie:

  • pobierze wszystkie pliki i podfoldery w DDD katalogu
  • -r : rekurencyjnie
  • -np: nie idzie do górnych katalogów, jak ccc / ...
  • -nH: nie zapisywanie plików do folderu hostname
  • --cut-dirs=3: ale zapisując to do ddd pomijając pierwsze 3 foldery aaa, bbb, ccc
  • -R index.html : bez indeks.html pliki

Odniesienie: http://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/

 201
Author: Mingjiang Shi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-04 03:09:14

Udało mi się to uruchomić dzięki do tego postu wykorzystanie VisualWGet. Świetnie mi to wyszło. Ważną częścią wydaje się być sprawdzenie flagi -recursive (patrz obrazek).

Okazało się również, że znacznik -no-parent jest ważny, inaczej będzie próbował pobrać wszystko.

Tutaj wpisz opis obrazkaTutaj wpisz opis obrazka

 31
Author: mateuscb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-23 15:16:41

wget Jest nieocenionym zasobem i czymś, z czego sam korzystam. Czasami jednak w adresie znajdują się znaki, które wget identyfikują jako Błędy składniowe. Jestem pewien, że jest na to poprawka, ale ponieważ to pytanie nie pytało konkretnie o wget, pomyślałem, że zaoferuję alternatywę dla tych osób, które niewątpliwie natkną się na tę stronę, szukając szybkiej poprawki bez konieczności uczenia się.

Istnieje kilka rozszerzeń przeglądarki, które mogą to zrobić, ale większość wymaga instalowanie menedżerów pobierania, które nie zawsze są bezpłatne, jest nudne i wykorzystuje wiele zasobów. Heres jeden, który nie ma żadnych wad:

"Download Master" to rozszerzenie dla Google Chrome, które świetnie nadaje się do pobierania z katalogów. Możesz filtrować typy plików do pobrania lub pobrać cały katalog.

Https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce

Dla aktualna lista funkcji i inne informacje, odwiedź stronę projektu na blogu dewelopera:

Http://monadownloadmaster.blogspot.com/

 2
Author: Moscarda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-25 15:42:17
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

Z man wget

'-r ' '--recursive ' Włącz rekurencyjne pobieranie. Zobacz rekurencyjne pobieranie, aby uzyskać więcej szczegółów. Domyślna maksymalna głębokość to 5.

'-np" '--no-parent ' Nigdy nie wstępuj do katalogu nadrzędnego podczas rekurencyjnego pobierania. Jest to przydatna opcja, ponieważ gwarantuje, że zostaną pobrane tylko pliki poniżej określonej hierarchii. Zobacz Ograniczenia oparte na katalogach, aby uzyskać więcej szczegóły.

'-nH" '--no-host-katalogi ' Wyłącz generowanie katalogów z prefiksem hosta. Domyślnie wywołanie Wget z '- r http://fly.srk.fer.hr/ ' utworzy strukturę katalogów zaczynającą się od fly.srk.fer.hr/. ta opcja wyłącza takie zachowanie.

'--cut-dirs=liczba " Ignoruj składniki katalogu numerów. Jest to przydatne do uzyskania drobnoziarnistej kontroli nad katalogiem, w którym zostanie zapisane rekurencyjne pobieranie.

Weź, dla przykład: katalog " ftp://ftp.xemacs.org/pub/xemacs/'. jeśli pobierzesz go za pomocą '- r', zostanie on zapisany lokalnie pod ftp.xemacs.org/pub/xemacs/. podczas gdy opcja '- nH ' może usunąć ftp.xemacs.org / part, you are still stuck with pub / xemacs. W tym miejscu przydaje się '--Cut-dirs'; sprawia, że Wget nie "widzi" zdalnych składników katalogów. Oto kilka przykładów działania opcji '--cut-dirs'.

Brak opcji - > ftp.xemacs.org/pub/xemacs/ -nH - >pub / xemacs/ -nH --cut-dirs=1 - > xemacs/ -nH --cut-dirs=2 ->.

--cut-dirs=1 -> ftp.xemacs.org/xemacs/ ... Jeśli chcesz tylko pozbyć się struktury katalogów, ta opcja jest podobna do kombinacji '- nd 'i' - P'. Jednakże, w przeciwieństwie do'- nd',' --cut-dirs 'nie przegrywa z podkatalogami-na przykład, z '- nH --cut-dirs=1', podkatalog beta / zostanie umieszczony w XEmacs / beta, jak można się spodziewać.

 2
Author: Natalie Ng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-31 17:06:12

Nie wymaga żadnych wtyczek!

Użyj bookmarklet. Przeciągnij ten link w zakładkach i przejdź na stronę (skąd chcesz pobrać pliki), następnie Edytuj i wklej ten kod:

(function(){ var arr=[], l=document.links; var ext=prompt("select extension for download (all links containing that, will be downloaded.", ".mp3"); for(var i=0; i<l.length; i++) { if(l[i].href.indexOf(ext) !== false){ l[i].setAttribute("download","download"); l[i].click(); } } })();
 0
Author: T.Todua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-20 16:13:34