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.