Se sei già registrato           oppure    

Orario: 19/04/2021 11:11:03  

 

Energia Alternativa ed Energia Fai Da Te > Sistemi operativi, hardware e programmazione.

Pagine: (3)   [1]   2   3    (Ultimo Msg)


Copia dei siti(mirror) e scaricamento file da terminale, && programmazione semplice
FinePagina

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,17:10

copiare un sito con un vecchio computer con linux ma anche con windows


ciao a tutti,

spesso navigando nella rete troviamo degli ottimi siti che sarebbero utilissimo averli sempre a disposizione anche quando siamo off-line. Ci sono ottimi programmi che fanno la copia del sito ("mirror" in gergo tecnico, specchio in inglese), ma spesso si tratta di lasciare acceso il computer principale per diversi giorni prima di riuscire a copiarlo tutto. Domanda... perchè diversi giorni? Semplice, molti server web (i computer che ospitano i siti web) sono allergici al mirroring, e spesso, dopo 1o minuti di sfolgorante velocitá di scaricamento, il nostro IP viene bloccato per 1 ora, poi per 2, poi per 4...8....16....32 ore fino a che non spegnamo il programma e andiamo a rompere da un'altra parte.

Il trucco sta nel farlo poco alla volta e simulando una navigazione umana, per questo peró molti non lo fanno non perchè manchino i programmi, ma perché bisogna lasciare acceso il computer grosso per moltissime ore.

In questo caso ritorna utile il vecchio computer (anche un 486) che sicuramente abbiamo in soffitta o che sappiamo recuperare.

Di solito è conveniente installare una distribuzione Linux adeguata (poi apriremo una discussione per questo) e con il programma wget da terminale scarichiamo il nostro sito, che naturalmente sará navigabile anche offline, questo perchè tutti i link interni vengono convertiti automagicamente.


innanzitutto bisgna sapere che i programmi da terminale di linux (e tutti gli altri unix) hanno un manuale online... quindi

man wget

e qui otterrete una lista enorme di opzioni, esempi e spiegazioni.


ma qui voglio dare alcune ricette semplici per ottenere la copia(mirror) navigabile del www.sito-interessante.com


cominciamo con la cosa più semplice

CODICE
$ wget -c -m -k www.sito-interessante.com


-c = continua. Significa che se la connessione cadesse mentre siamo a metá di un file, questi viene ripreso dal punto ove si era interrotto.

-m = sta per Mirror ovviamente, ovvero scarica tutto

-k = Converti. Conve
rte tutti i link presenti nelle pagine in modo che sia possibile la navigazione off-line


Con il comando di sopra ottenieamo una copia del sito, ma se il server fa lo schizzinoso, ci può sbattere la porta in faccia, in quanto il programma wget si comporta come un robot...per migliorare il comportamento bisogna aggiungere alcune altre opzioni:
CODICE
$ wget -c -m -k -w 10 --random-wait --limit-rate=10k www.sito-interessante.com



-w 10 = Aspetta(wait) 10 secondi tra una pagina e l'altra

--random-wait = è strettamente legata al comando -w, in quanto utilizza un numero di secondi a caso compreso tra 1 e il numero massimo di secondi indicato. Questo permette di simulare il "tocco" umano

--limit-rate=10k = limita lo scaricamento a 10 kB al secondo. Un altro modo utilizzato per bloccare il mirroring dei siti, è quello di bloccare le connessioni che consumano più banda di quanto stabilito in tot. minuti, per cui viene utile questa opzione per limitare la banda.
Si usa anche per lasciare libera la banda per altre attività... come per esempio navigare per internet con firefox senza venir penalizzati da wget, oppure per fare il mirror di più siti web allo stesso tempo.

In caso di connessione capricciosa, in cui cade spessoo rimane bloccata, può diventare utileun altra opzione -T Numero secondi

CODICE
$ wget -c -m -k -w 10 --random-wait --limit-rate=10k -T 20 www.sito-interessante.com


-T 20 = se lo scaricamento si blocca, ritenta dopo 20 secondi.


ora vi copio qui sotto un esempio di script linux, che uso per scaricare (legalmente) una serie televisiva spagnola che probabilmente arriverà in Italia a breve con il nome Aguila Roja (una specie di zorro-ninja)

Qui la recensione:
www.tvblog.it/post/21064/aguila-roj...nche-film-video


CODICE
#!/bin/bash

OPT=" -c  -T20 --random-wait --limit-rate=30k "

clear
echo scarico il file con le opzioni $OPT

# Capitolo 1
wget $OPT http://www.rtve.es/resources/TE_SAGUI01/flv/8/5/1232131095458.flv \
&& ln -s 1232131095458.flv 01.flv && ffmpeg -i 01.flv -async 1 -sameq 01.avi

# questo è solo un esempio con il primo capitolo :D
# wget scarica il file con le opzioni definite nella variabile $OPT , poi se tutto va bene (&&
# crea un link simbolico tra il file 1232131095458.flv ad un più umano numero di capitolo (01.flv)
# se anche questo passaggio va bene (&& allora si converte in formato avi attraverso l'omnipotente
# ffmpeg mantendo il sync tra audio/video (-async 1) e la stessa qualità (-sameq)



Corretto errore nelle opzioni


ANCHE PER WINDOWS!! faccine/clap.gif
http://gnuwin32.sourceforge.net/packages/wget.htm





Modificato da max_linux2000 - 13/10/2010, 23:20
 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,19:16

Ecco, questo mi interessa.....
C'è un sito di un tale olandese che contiene diverse migliaia di files PDF di datasheet di valvole e apparecchiature a valvole. Quando usavo Windows, con diversi programmi ho provato sia a scaricarmi il sito che i soli PDF, ma non sono mai riuscito a farlo. Ho scritto al tipo, chiedendogli se potevo scaricare dal suo sito la documentazione che mi interessava e la sua risposta è stata più o meno: "Scarica pure ciò che vuoi".
Ora mi piacerebbe riprovare. Metterlo su CD o su DVD sarebbe di una comodità unica. Anche perché credo che ormai abbia praticamente raggiunto il massimo, sia come documentazione sulle valvole che come documentazione interessante sul resto, almeno per me.
Mi chiedo, però, il "sito" è sparpagliato su più indirizzi e su più link, si può aggirare la cosa e metterlo tutto "insieme" come se fosse tutto sullo stesso disco?
Saluti.
Ferro

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,20:34

mi daresti l'indirizzo di quel sito? non ha capito cosa intendi per

CITAZIONE
Mi chiedo, però, il "sito" è sparpagliato su più indirizzi e su più link, si può aggirare la cosa e metterlo tutto "insieme" come se fosse tutto sullo stesso disco?

il sito in realtá sono vari siti su domini differenti, oppure si tratta di vari siti, sotto lo stesso dominio?

Per esempio, questi sono domini differenti:

www.ilmiobelsito.com
www.altrosito.com

e questi sono siti sotto lo stesso dominio (sotto-dominii):

www.ilmiobelsito.com
archivi.ilmiobelsito.com
refugiopeccatorum.ilmiobelsito.com


in realtá non credo che cambi molto, ma non ho mai provato... magari faccio una prova....

ah! nel caso ti interessassero solo i pdf, gli si può dire a wget di scaricale solo quelli. faccine/biggrin.gif

ciao
MaX


 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,20:44

Questo è il link principale.
www.tubedata.info
Questo sotto da dove invece si scaricano i dati delle valvole.
www.mif.pg.gda.pl/homepages/frank/index.html
Viene reindirizzato automaticamente quando clicchi sul link

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,21:14

a quanto capisco si tratta di un sito principale www.tubedata.info in cui mette alcune informazioni, ma non i pdf, e poi ci sono diversi mirror con i pdf, in giro per il mondo

in tal caso dovrai fare 2 mirrors separati impedendo peró di fare la copia di tutti i mirror (con i pdf) esistenti

prova con:

CODICE
$ wget -c -m -k --limit-rate=20k -w 5 --random-wait -D tubedata.info  www.tubedata.info

l'opzione -D sta per un elenco di domini su cuiandare. In questo caso mettiamo solo il principale e facciamo il mirror del mirror faccine/sick.gif a mano con il comando seguente in un altro terminale:

CODICE
$ wget -c -m -k --limit-rate=20k -w 5 --random-wait -np www.mif.pg.gda.pl/homepages/frank/index.html

l'opzione -np significa No Parent, ovvero non permette a wget di salire le directory prima di "frank"

puoi ovviamente cambiare i 20 kB/s in base alle tue necessità

fammi sapere se è quello che cercavi

ciao
MaX

 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,21:21

Allora: devo prima scaricare wget e installarlo. Poi apro un terminale e metto quei comandi.
Ho capito bene?


Ho appena verificato.... E me lo da come già installato.... faccine/wacko.gif
Però non lo trovo nei menù a tendina.
Dove metterà tutto quello che scarica? in una cartella? Dove?

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,21:28

credo che su ubuntu wget venga già installato, ma se non lo fosse apri il terminale e scrivi:

CODICE
sudo apt-get install wget

metti la tua passwd e aspetti quei 20 o 30 secondi necessari per lo scaricamento e l'installazionedi wget.

poi copia e incolla i comandi sopra in 2 terminali (ovviamente senza il "$"

ciao
MaX

 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,21:33

Difatti era già installato. Appena copiati i comandi è partito tutto in quarta! Sia nel primo che nel secondo terminale.

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,21:36

CITAZIONE (Ferrobattuto @ 13/10/2010, 22:21)
Ho appena verificato.... E me lo da come già installato.... faccine/wacko.gif
Però non lo trovo nei menù a tendina.
Dove metterà tutto quello che scarica? in una cartella? Dove?

i comandi da terminale ben difficilmente li troverai nel menu a tendina faccine/biggrin.gif

ce ne sono centinaia di comandi tra interni ed esterni alla console (bash), ogniuno fa una cosa ben specifica. sono concatenabili e possono formare l'ossatura di programmi molto sofisticati.

Giusto per darti una idea di quanta roba hai installato nel tuo sistema unix, apri un terminale a premi due volte il tasto TAB, e poi digli di si alla domanda che ti fa. faccine/wacko.gif faccine/blink.gif faccine/w00t.gif faccine/sick.gif faccine/sick.gif

per proseguire premi la barra spaziatrice


ciao
MaX

 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,21:43

Un sacco di roba..... Sono programmi?

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,22:17

si, ma sono programmi molto specifici... diciamo che la console (il terminale nel tuo caso) somiglia più ad un ambiente di programmazione che altro

per esempio per cercare una certa parola in un file di testo si usa il comando grep magari unito al comando cat

$ cat file.txt | grep parola

che significa:
cattura (leggi) il file.txt e invialo a grep attraverso il Pipe "|" e cerca la parola indicata.

ma naturalmente ci sono un sacco di altre possibilità alcune simili al basic altre al C

ti sei affacciato ad un mondo molto vasto.... vasto almeno come l'elettronica valvolare faccine/biggrin.gif e ci vorrà un po' di tempo per digerirlo faccine/biggrin.gif

ciao
MaX

 

Ferrobattuto

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4117

Stato:



Inviato il: 13/10/2010,22:29

Comprerò un digestivo..... faccine/biggrin.gif
Per stasera ne ho abbastanza.
Saluti.
Ferro

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3465

Stato:



Inviato il: 13/10/2010,22:33

Linux Power!

Convertitevi che siete ancora in tempo... faccine/biggrin.gif

Ciao Max, grazie delle indicazioni, anche se poche volte ho usato solamente l'opzione -r con i risultati che ti puoi immaginare.. faccine/smile.gif

P.S.
Complimenti per l'incarico (mo so cavoli tua!)
Ciao
Pino



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 13/10/2010,23:40

CITAZIONE (PinoTux @ 13/10/2010, 23:33)
Linux Power!

Convertitevi che siete ancora in tempo... faccine/biggrin.gif

Ciao Max, grazie delle indicazioni, anche se poche volte ho usato solamente l'opzione -r con i risultati che ti puoi immaginare.. faccine/smile.gif

infatti preferisco usare l'opzione -m che equivale alla serie " -r -N -l inf --no-remove-listing"


CITAZIONE
P.S.
Complimenti per l'incarico (mo so cavoli tua!)
Ciao
Pino

faccine/biggrin.gif grazie!! faccine/biggrin.gif

 

max_linux2000

Avatar
GigaWatt


Gruppo:Utente
Messaggi:2120

Stato:



Inviato il: 18/11/2010,18:05

Ferro,

come è andato poi, lo scaricamento dei due siti?

 
 InizioPagina
 

Pagine: (3)   [1]   2   3    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum