Pobierz WSZYSTKIE foldery, podfoldery i pliki za pomocą Wget


21

Korzystam z Wget i napotkałem problem. Mam witrynę, która ma kilka folderów i podfolderów w witrynie. Muszę pobrać całą zawartość każdego folderu i podfolderu. Wypróbowałem kilka metod przy użyciu Wget, a kiedy sprawdzam zakończenie, wszystko, co widzę w folderach, to plik „indeksu”. Mogę kliknąć plik indeksu, a to zabierze mnie do plików, ale potrzebuję rzeczywistych plików.

czy ktoś ma polecenie Wget, które przeoczyłem, czy jest inny program, którego mógłbym użyć, aby uzyskać wszystkie te informacje?

przykład strony:

www.mysite.com/Pictures/ na zdjęciach DIr, istnieje kilka folderów .....

www.mysite.com/Pictures/Accounting/

www.mysite.com/Pictures/Managers/North America / California / JoeUser.jpg

Potrzebuję wszystkich plików, folderów itp ...


1
Czy zapoznałeś się z dokumentacją wgetdotyczącą korzystania z niej rekurencyjnie ?
Mojżesz

W dokumentacji znajduje się również artykuł , który wydaje się odpowiedni.
Mojżesz

Odpowiedzi:


38

Chcę założyć, że nie próbowałeś tego:

wget -r --no-parent http://www.mysite.com/Pictures/

lub w celu pobrania zawartości bez pobierania plików „index.html”:

wget -r --no-parent --reject "index.html *" http://www.mysite.com/Pictures/

Odniesienie: Używanie wget do rekurencyjnego pobierania katalogu zawierającego dowolne pliki


1
Dzięki, uruchomiłem to polecenie kilka razy, ale nie pozwoliłem, aby polecenie zakończyło się do końca. Zostałem śledzony z boku i pozwoliłem, by polecenie faktycznie się zakończyło, i najpierw skopiowało WSZYSTKIE foldery, potem wróciło i skopiowało WSZYSTKIE pliki do folderu.
Horrid Henry

po prostu chce ci pokazać, gdybym miał cierpliwość, zrobiłbym to 2 tygodnie temu .... LOL. :) dzięki jeszcze raz.
Horrid Henry

@Horrid Henry, Gratulacje!
Felix Imafidon,

Korzystam z podobnego polecenia, ale otrzymuję tylko plik index.html!
shenkwen

20

używam wget -rkpN -e robots=off http://www.example.com/

-r oznacza rekurencyjnie

-koznacza konwersję linków. Więc linki na stronie będą localhost zamiast example.com/bla

-p oznacza pozyskanie wszystkich zasobów strony internetowej, aby uzyskać obrazy i pliki javascript, aby strona działała poprawnie.

-N jest pobieranie znaczników czasu, więc jeśli pliki lokalne są nowsze niż pliki w zdalnej witrynie, pomiń je.

-eto opcja flagi, która musi tam być, robots=offaby działać.

robots=off oznacza zignoruj ​​plik robota.

Miałem również -cw tym poleceniu, więc jeśli połączenie zostało przerwane, jeśli będzie kontynuowane tam, gdzie zostało przerwane, gdy ponownie uruchomię polecenie. Uznałem, że -Nbędzie dobrze-c


Czy możesz dodać kilka zdań do swojej odpowiedzi, aby wyjaśnić, co robią te ustawienia parametrów?
fixer1234

Przepraszam. na pewno źle je teraz dodam
Tim Jonas,

Zaktualizowałem swoją odpowiedź
Tim Jonas,

Dzięki. Czy więc -c powinno być częścią twojego polecenia lub dodane opcjonalnie po niepełnym pobraniu? Ponadto -e jest tak, że polecenie ma pierwszeństwo przed wszystkimi, które mogą być w .wgetrc? I czy to literówka na -r (rekurencyjne vs. samotne)?
fixer1234

Tak to jest poprawne. Tak -e, wykona polecenie tak, jakby było częścią .wgetrc. Dodałem go tam, ponieważ robots=offwydaje się, że nie działałoby bez niego.
Tim Jonas,

1

wget -m -A * -pk -e robots = off www.mysite.com/ spowoduje to pobranie wszystkich typów plików lokalnie i wskazanie ich z pliku html
oraz zignorowanie pliku robota

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.