Jak mogę pobrać całą stronę internetową?

351

Jak mogę pobrać wszystkie strony ze strony internetowej?

Każda platforma jest w porządku.

Joe
źródło
2
Sprawdź serverfault.com/questions/45096/website-backup-and-download on Server Fault.
Marko Carter
@tnorthcutt, też jestem zaskoczony. Jeśli nie pamiętam strasznie złego, moja odpowiedź Wgeta była kiedyś zaakceptowana i wyglądało to na ustalone. Nie narzekam jednak - nagle odnowiona uwaga dała mi więcej niż warta nagrody. : P
Jonik
próbowałeś IDM? superuser.com/questions/14403/… mój post został zakopany. Czego brakuje w IDM?
Lazer,
5
@joe: Może pomóc, jeśli podasz szczegóły na temat brakujących funkcji ...
Ilari Kajaste
browse-offline.com może pobrać pełne drzewo strony internetowej, dzięki czemu możesz ... przeglądać je offline
Menelaos Vergis

Odpowiedzi:

334

HTTRACK działa jak mistrz do kopiowania zawartości całej witryny. To narzędzie może nawet pobierać elementy potrzebne do tego, aby strona z aktywną zawartością kodu działała offline. Dziwi mnie rzeczy, które można replikować offline.

Ten program zrobi wszystko, czego potrzebujesz.

Pomyślnych łowów!

Axxmasterr
źródło
7
Używam tego od lat - wysoce zalecane.
Umber Ferrule,
4
Czy skopiowałby jednak rzeczywisty kod ASP działający na serwerze?
Taptronic,
8
@Optimal Solutions: Nie, to niemożliwe. W tym celu potrzebujesz dostępu do serwerów lub kodu źródłowego.
Sasha Chedygov
2
Po wypróbowaniu zarówno httrack, jak i wget dla witryn z autoryzacją, muszę pochylić się nad wget. W takich przypadkach nie można uruchomić programu httrack.
Lew
1
Jaka jest opcja uwierzytelniania?
vincent mathew
272

Wget to klasyczne narzędzie wiersza polecenia do tego rodzaju zadań. Jest dostarczany z większością systemów Unix / Linux i można go również uzyskać dla systemu Windows . Na komputerze Mac Homebrew jest najprostszym sposobem na jego zainstalowanie ( brew install wget).

Zrobiłbyś coś takiego:

wget -r --no-parent http://site.com/songs/

Aby uzyskać więcej informacji, zobacz Podręcznik Wget i jego przykłady lub np .:

Jonik
źródło
12
Nie ma lepszej odpowiedzi niż ta - wget może zrobić wszystko: 3
Phoshi
6
+1 za włączenie --no-rodzica. zdecydowanie użyj --mirror zamiast -r. i możesz chcieć dołączyć -L / - krewny, aby nie podążać za linkami do innych serwerów.
quack quixote
2
Jak również poprosiłem o httrack.com - czy to narzędzie linii cmd otrzyma kod ASP, czy może po prostu renderuje HTML? Muszę to wypróbować. Może to być trochę niepokojące dla programistów, jeśli to zrobi ...
Taptronic
6
@optimal, wyjście HTML oczywiście - otrzyma kod tylko wtedy, gdy serwer zostanie źle źle skonfigurowany
Jonik
2
niestety dla mnie to nie działa - istnieje problem z linkami do plików css, nie są one zmieniane na względne, tzn. możesz zobaczyć coś takiego w plikach: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" />, który nie działa lokalnie dobrze, chyba że istnieje waz, który oszuka Firefoxa, który uzna, że ​​określony katalog jest rootem.
ural
148

Użyj wget:

wget -m -p -E -k www.example.com

Opcje wyjaśnione:

-m, --mirror            Turns on recursion and time-stamping, sets infinite 
                          recursion depth, and keeps FTP directory listings.
-p, --page-requisites   Get all images, etc. needed to display HTML page.
-E, --adjust-extension  Save HTML/CSS files with .html/.css extensions.
-k, --convert-links     Make links in downloaded HTML point to local files.
użytkowników9437
źródło
8
+1 za wyjaśnienie sugerowanych opcji. (Chociaż nie sądzę, że --mirrorjest to bardzo oczywiste. Oto strona podręcznika: „ Ta opcja włącza rekurencję i znaczniki czasu, ustawia nieskończoną głębokość rekurencji i zachowuje listę katalogów FTP. Obecnie jest równoważna -r -N - l inf --no-remove-listing ")
Ilari Kajaste 23.09.2009
2
Jeśli nie chcesz pobierać wszystkiego do folderu o nazwie domeny, którą chcesz dublować, utwórz własny folder i użyj opcji -nH (która pomija część hosta).
Rafael Bugajewski
2
Co jeśli autoryzacja jest wymagana?
Val
4
Próbowałem użyć twojego wget --mirror -p --html-extension --convert-links www.example.comi właśnie pobrałem indeks. Myślę, że potrzebujesz -rpobrać całą witrynę.
Eric Brotto
4
dla zainteresowanych o zabiciu stronę ze względu na ruch / zbyt wiele żądań, użyj -w seconds(zaczekać kilka secconds między wnioskami, lub tym --limit-rate=amount, aby określić maksymalną przepustowość do wykorzystania podczas pobierania
Vlad-Ardelean
8

Internet Download Manager ma narzędzie Site Grabber z wieloma opcjami - które pozwala całkowicie pobrać dowolną stronę internetową, tak jak chcesz.

  1. Możesz ustawić limit rozmiaru stron / plików do pobrania

  2. Możesz ustawić liczbę witryn oddziałów do odwiedzenia

  3. Możesz zmienić sposób działania skryptów / wyskakujących okienek / duplikatów

  4. Możesz określić domenę, tylko w tej domenie zostaną pobrane wszystkie strony / pliki spełniające wymagane ustawienia

  5. Łącza można konwertować na łącza offline do przeglądania

  6. Masz szablony, które pozwalają wybrać dla siebie powyższe ustawienia

wprowadź opis zdjęcia tutaj

Oprogramowanie nie jest jednak darmowe - sprawdź, czy odpowiada Twoim potrzebom, skorzystaj z wersji ewaluacyjnej.

Lazer
źródło
7

itsucks - tak nazywa się program!

kmarsh
źródło
5

Zajmę się buforowaniem online używanym przez przeglądarki ...

Zazwyczaj większość przeglądarek używa pamięci podręcznej przeglądania, aby utrzymywać pliki pobierane ze strony internetowej przez pewien czas, dzięki czemu nie trzeba pobierać obrazów statycznych i treści w kółko. W niektórych okolicznościach może to nieco przyspieszyć. Ogólnie rzecz biorąc, większość pamięci podręcznych przeglądarki jest ograniczona do ustalonego rozmiaru, a gdy osiągnie ten limit, usunie najstarsze pliki w pamięci podręcznej.

Dostawcy usług internetowych zazwyczaj mają serwery buforujące, które przechowują kopie często używanych witryn, takich jak ESPN i CNN. To oszczędza im kłopotów z odwiedzaniem tych stron za każdym razem, gdy ktoś w ich sieci tam trafi. Może to oznaczać znaczne oszczędności w ilości zduplikowanych żądań kierowanych do zewnętrznych stron do dostawcy usług internetowych.

Axxmasterr
źródło
5

Lubię Offline Explorer .
Jest to shareware, ale jest bardzo dobry i łatwy w użyciu.

Eran
źródło
4

Nie robiłem tego od wielu lat, ale wciąż istnieje kilka narzędzi. Możesz spróbować Web Snake . Myślę, że korzystałem z niego lata temu. Od razu przypomniałem sobie tę nazwę, kiedy przeczytałem twoje pytanie.

Zgadzam się ze Stecy. Proszę nie młotkować ich strony. Bardzo źle.

Bobby Ortiz
źródło
3

Wypróbuj przeglądarkę BackStreet .

Jest to darmowa, potężna przeglądarka offline. Szybki, wielowątkowy program do pobierania i przeglądania stron internetowych. Dokonując wielu równoczesnych żądań serwera, BackStreet Browser może szybko pobrać całą stronę internetową lub jej część, w tym HTML, grafikę, aplety Java, pliki dźwiękowe i inne pliki definiowane przez użytkownika, a także zapisuje wszystkie pliki na dysku twardym w ich macierzystym formacie, lub jako skompresowany plik ZIP i przeglądaj offline.

wprowadź opis zdjęcia tutaj

Joe
źródło
3

Teleport Pro to kolejne bezpłatne rozwiązanie, które kopiuje wszystkie pliki z dowolnego celu (ma również płatną wersję, która pozwala pobrać więcej stron treści).

Precel
źródło
3

DownThemAll to dodatek do Firefoksa, który jednym kliknięciem pobiera całą zawartość (na przykład pliki audio lub wideo) dla określonej strony internetowej. To nie pobiera całej witryny, ale może to być coś, czego szukało pytanie.

Will M
źródło
Może pobierać tylko linki (HTML) i multimedia (obrazy).
Ain
3

Dla systemów Linux i OS X: Napisałem grab-site do archiwizacji całych stron do plików WARC . Te pliki WARC można przeglądać lub rozpakowywać. grab-site pozwala kontrolować, które adresy URL mają być pomijane za pomocą wyrażeń regularnych, które można zmienić podczas działania przeszukiwania. Zawiera także szeroki zestaw domyślnych opcji ignorowania niepotrzebnych adresów URL.

Dostępny jest internetowy pulpit nawigacyjny do monitorowania indeksowania, a także dodatkowe opcje pomijania treści wideo lub odpowiedzi powyżej określonego rozmiaru.

Ivan Kozik
źródło
1

Power Wget

Chociaż wget był już wspomniany o tym zasobie i wiersz poleceń był tak płynny, myślałem, że zasługuje na wzmiankę: wget -P /path/to/destination/directory/ -mpck --user-agent="" -e robots=off --wait 1 -E https://www.example.com/

Zobacz ten kod objaśniony w wyjaśnieniu

Shwaydogg
źródło
0

Czcigodny FreeDownloadManager.org ma również tę funkcję.

Free Download Manager ma go w dwóch postaciach w dwóch formach: Site Explorer i Site Spider :

Site Explorer
Site Explorer umożliwia przeglądanie struktury folderów witryny internetowej i łatwe pobieranie niezbędnych plików lub folderów.
HTML Spider
Możesz pobrać całe strony internetowe, a nawet całe strony internetowe za pomocą HTML Spider. Narzędzie można dostosować do pobierania plików tylko z określonymi rozszerzeniami.

Uważam, że Site Explorer jest przydatny, aby sprawdzić, które foldery należy uwzględnić / wykluczyć przed próbą pobrania całej witryny - szczególnie gdy na stronie ukrywa się całe forum, którego nie chcesz na przykład pobierać.

David d C e Freitas
źródło
-3

Firefox może to zrobić natywnie (przynajmniej FF 42 może). Wystarczy użyć „Zapisz stronę”

wprowadź opis zdjęcia tutaj

użytkownik1032531
źródło
6
Źle! Pytanie dotyczy sposobu zapisania całej strony internetowej. Firefox nie może tego zrobić.
2
Twoja metoda działa tylko wtedy, gdy jest to strona jednostronicowa, ale jeśli strona ma 699 stron? Byłoby bardzo męczące ...
Quidam,
-4

Wierzę, że Google Chrome może to zrobić na urządzeniach stacjonarnych, po prostu przejdź do menu przeglądarki i kliknij Zapisz stronę internetową.

Należy również pamiętać, że usługi takie jak kieszeń mogą nie zapisywać strony internetowej, a zatem są podatne na zgniliznę linków.

Na koniec zauważ, że kopiowanie zawartości strony internetowej może naruszać prawa autorskie, jeśli ma to zastosowanie.

jiggunjer
źródło
3
Strona internetowa w przeglądarce to tylko jedna z wielu witryn .
Arjan
@Arjan Myślę, że to sprawia, że ​​moja opcja jest pracochłonna. Uważam, że ludzie częściej chcą po prostu zapisać jedną stronę, więc ta odpowiedź może być lepsza dla tych, którzy tu przybędą.
jiggunjer