Come posso scaricare un intero sito Web?


351

Come posso scaricare tutte le pagine da un sito Web?

Qualsiasi piattaforma va bene.



@tnorthcutt, anche io sono sorpreso. Se non ricordo terribilmente male, la mia risposta di Wget era quella accettata, e questa sembrava una cosa risoluta. Non mi lamento però: all'improvviso la rinnovata attenzione mi ha dato più del valore di un rappresentante della taglia. : P
Jonik,

hai provato IDM? superuser.com/questions/14403/… il mio post è sepolto. Cosa hai trovato mancante in IDM?
Lazer,

5
@joe: Potrebbe esserti utile fornire dettagli su quali sono le funzionalità mancanti ...
Ilari Kajaste,

browse-offline.com può scaricare l'albero completo del sito Web in modo da poterlo ... navigare offline
Menelaos Vergis

Risposte:


334

HTTRACK funziona come un campione per la copia dei contenuti di un intero sito. Questo strumento può anche raccogliere i pezzi necessari per far funzionare offline un sito Web con contenuto di codice attivo. Sono sorpreso dalle cose che può replicare offline.

Questo programma farà tutto il necessario.

Buona caccia!


7
Lo uso da anni - altamente raccomandato.
Umber Ferrule

4
Questo copierebbe il codice ASP effettivo che viene eseguito sul server?
Taptronic,

8
@Optimal Solutions: No, non è possibile. Dovresti avere accesso ai server o al codice sorgente per questo.
Sasha Chedygov,

2
Dopo aver provato sia httrack che wget per i siti con autorizzazione, devo appoggiarmi a wget. In questi casi non è stato possibile far funzionare httrack.
Leone,

1
Qual è l'opzione per l'autenticazione?
vincent mathew,

272

Wget è un classico strumento da riga di comando per questo tipo di attività. Viene fornito con la maggior parte dei sistemi Unix / Linux e puoi ottenerlo anche per Windows . Su un Mac, Homebrew è il modo più semplice per installarlo ( brew install wget).

Faresti qualcosa del tipo:

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

Per maggiori dettagli, consultare il Manuale di Wget e i suoi esempi , o ad esempio questi:


12
Non c'è risposta migliore di questa - wget può fare qualsiasi cosa: 3
Phoshi,

6
+1 per l'inclusione del --no-genitore. sicuramente usa --mirror invece di -r. e potresti voler includere -L / - relativo per non seguire i collegamenti ad altri server.
Quack Quixote

2
Come ho anche chiesto httrack.com - questo strumento di linea cmd otterrebbe il codice ASP o otterrebbe semplicemente il rendering dell'HTML? Devo provare questo Questo potrebbe essere un po 'preoccupante per gli sviluppatori se lo fa ...
Taptronic

6
@optimal, l'output HTML ovviamente - otterrebbe il codice solo se il server fosse mal configurato male
Jonik

2
sfortunatamente non funziona per me - c'è un problema con i collegamenti ai file CSS, non sono cambiati in relativi cioè, puoi vedere qualcosa del genere nei file: <link rel = "stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" /> che non funziona localmente bene, a meno che non ci sia un waz per ingannare Firefox per pensare che una certa directory sia root.
Il

148

Usa wget:

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

Le opzioni spiegate:

-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.

8
+1 per fornire le spiegazioni per le opzioni suggerite. (Anche se non credo --mirrorsia molto esplicativo. Ecco dalla pagina man: " Questa opzione attiva la ricorsione e il timestamp, imposta la profondità di ricorsione infinita e mantiene gli elenchi di directory FTP. Attualmente è equivalente a -r -N - l inf --no-remove-listing ")
Ilari Kajaste,

2
Se non vuoi scaricare tutto in una cartella con il nome del dominio che vuoi specchiare, crea la tua cartella e usa l'opzione -nH (che salta la parte host).
Rafael Bugajewski,

2
Che dire se è richiesto l'Auth?
Val

4
Ho provato a usare il tuo wget --mirror -p --html-extension --convert-links www.example.come ho appena scaricato l'indice. Penso che ti serva -rper scaricare l'intero sito.
Eric Brotto,

4
per coloro che sono preoccupati di uccidere un sito a causa del traffico / troppe richieste, utilizzare il -w seconds(per attendere un certo numero di secondi tra le richieste o il --limit-rate=amount, per specificare la larghezza di banda massima da utilizzare durante il download
vlad-ardelean


8

Internet Download Manager ha un'utilità di acquisizione dei siti con molte opzioni, che ti consente di scaricare completamente qualsiasi sito Web desiderato, nel modo desiderato.

  1. È possibile impostare il limite sulla dimensione delle pagine / dei file da scaricare

  2. È possibile impostare il numero di filiali da visitare

  3. È possibile modificare il modo in cui si comportano gli script / i popup / i duplicati

  4. È possibile specificare un dominio, solo sotto quel dominio verranno scaricate tutte le pagine / i file che soddisfano le impostazioni richieste

  5. I collegamenti possono essere convertiti in collegamenti offline per la navigazione

  6. Hai modelli che ti consentono di scegliere le impostazioni sopra per te

inserisci qui la descrizione dell'immagine

Tuttavia, il software non è gratuito - vedi se soddisfa le tue esigenze, utilizza la versione di valutazione.



5

Affronterò il buffering online utilizzato dai browser ...

In genere la maggior parte dei browser utilizza una cache di navigazione per mantenere i file scaricati da un sito Web per un po 'in modo da non dover scaricare più volte immagini statiche e contenuti. Questo può accelerare un po 'le cose in alcune circostanze. In generale, la maggior parte delle cache del browser sono limitate a una dimensione fissa e quando raggiunge tale limite, eliminerà i file più vecchi nella cache.

Gli ISP tendono a disporre di server di memorizzazione nella cache che conservano copie di siti Web di accesso comune come ESPN e CNN. Questo evita loro il problema di colpire questi siti ogni volta che qualcuno sulla loro rete vi si reca. Ciò può comportare un notevole risparmio nella quantità di richieste duplicate verso siti esterni all'ISP.




4

Non lo faccio da molti anni, ma ci sono ancora alcuni programmi di utilità là fuori. Potresti provare Web Snake . Credo di averlo usato anni fa. Mi sono ricordato subito del nome quando ho letto la tua domanda.

Sono d'accordo con Stecy. Si prega di non martellare il loro sito. Molto brutto.


3

Prova BackStreet Browser .

È un browser offline potente e gratuito. Un programma di download e visualizzazione di siti Web multi-threading ad alta velocità. Effettuando più richieste simultanee del server, BackStreet Browser può scaricare rapidamente l'intero sito Web o parte di un sito tra cui HTML, grafica, applet Java, audio e altri file definibili dall'utente e salva tutti i file sul disco rigido, nel loro formato nativo, o come file ZIP compresso e visualizza offline.

inserisci qui la descrizione dell'immagine


3

Teleport Pro è un'altra soluzione gratuita che copierà tutti i file da qualunque sia il tuo target (ha anche una versione a pagamento che ti permetterà di estrarre più pagine di contenuto).


3

DownThemAll è un componente aggiuntivo di Firefox che scaricherà tutto il contenuto (file audio o video, ad esempio) per una determinata pagina Web con un solo clic. Questo non scarica l'intero sito, ma potrebbe essere una specie di cosa che la domanda stava cercando.


È solo in grado di scaricare collegamenti (HTML) e media (immagini).
Ain,

3

Per Linux e OS X: ho scritto grab-site per l'archiviazione di interi siti Web in file WARC . Questi file WARC possono essere sfogliati o estratti. grab-site ti consente di controllare quali URL saltare usando espressioni regolari e questi possono essere cambiati quando la ricerca per indicizzazione è in esecuzione. Viene inoltre fornito con una vasta serie di impostazioni predefinite per ignorare gli URL spazzatura.

Esiste un dashboard Web per il monitoraggio delle ricerche per indicizzazione, nonché opzioni aggiuntive per saltare contenuti video o risposte oltre una determinata dimensione.



0

Anche il venerabile FreeDownloadManager.org ha questa funzione.

Free Download Manager lo ha in due forme in due forme: Site Explorer e Site Spider :

Site Explorer
Site Explorer consente di visualizzare la struttura delle cartelle di un sito Web e di scaricare facilmente i file o le cartelle necessari.
HTML Spider
È possibile scaricare intere pagine Web o anche interi siti Web con HTML Spider. Lo strumento può essere regolato per scaricare file solo con estensioni specificate.

Trovo che Site Explorer sia utile per vedere quali cartelle includere / escludere prima di provare a scaricare l'intero sito, specialmente quando nel sito si nasconde un intero forum che non si desidera scaricare, ad esempio.



-3

Firefox può farlo in modo nativo (almeno FF 42 può). Usa "Salva pagina"

inserisci qui la descrizione dell'immagine


6
Sbagliato! La domanda chiede come salvare un intero sito web. Firefox non può farlo.

2
Il tuo metodo funziona solo se si tratta di un sito di una pagina, ma se il sito ha 699 pagine? Sarebbe molto stancante ...
Quidam il

-4

Credo che Google Chrome possa farlo su dispositivi desktop, basta andare sul menu del browser e fare clic su Salva pagina Web.

Si noti inoltre che servizi come Pocket potrebbero in realtà non salvare il sito Web e quindi sensibili al marciume dei link.

Si noti infine che la copia dei contenuti di un sito Web può violare il diritto d'autore, se applicabile.


3
Una pagina Web nel browser è solo una su molti di un sito Web .
Arjan,

@Arjan Immagino che renda la mia opzione laboriosa. Credo che sia più comune per le persone voler solo salvare una pagina, quindi questa risposta potrebbe essere migliore per quelle persone che vengono qui per quello.
jiggunjer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.