wget
Το wget είναι ένα πρόγραμμα για συλλογή δεδομένων από το διαδίκτυο, το οποίο μπορεί να εκτελεστεί και στο υπόβαθρο (background). Αυτό σημαίνει ότι ο χρήστης μπορεί ακόμη και να αποσυνδεθεί από το σύστημα ενώ η εντολή wget θα συνεχίσει να εκτελείται.
Το wget μπορεί να δημιουργήσει τοπικές εκδόσεις μιας ιστοσελίδας, αναπαράγωντας πλήρως τη δομή των φακέλων της αρχικής ιστοσελίδας. Μπορεί επίσης να μετατρέψει τους συνδέσμους της ιστοσελίδας σε τοπικά αρχεία HTML για αναφορά σε εκτός σύνδεσης κατάσταση.
Στο σημείο αυτό πρέπει να τονίσω ότι η δυνατότητα του να κατεβάζει κανείς δεδομένα από το διαδίκτυο από τη γραμμή εντολών σημαίνει ότι μπορεί να ενσωματωθεί σε ένα αρχείο εντολών κελύφους (script) και να εκτελεσθεί αυτόματα. Αυτό επιτρέπει την κατάχρηση ιστοσελίδων, που μπορεί να οδηγήσει στην κατάρρευσή τους. Αρά δεν ειναι αποδεκτή μια τέτοια χρήση και προτείνεται να γίνεται πάντα με μέτρο. Γι'αυτό στον οδηγό αυτό δε θα χρησιμοποιηθεί καμία ιστοσελίδα ως παράδειγμα αλλά πάντα η λέξη "url". Σε όλα τα παραδείγματα μπορείτε να αντικαταστήσετε τη λέξη url με οποιαδήποτε ιστοσελίδα όπως για παράδειγμα www.google.com ή http://ubuntu.opengr.net.
Όπως η περισσότερες εντολές η επιλογή -V ή --version τυπώνει την έκδοση του wget, ενώ η επιλογή -h ή --help τυπώνει ένα μήνυμα βοηθειας με όλες τις επιλογές του wget.
Αλλά ας περάσουμε σε ένα πολύ απλό παράδειγμα. Η παρακάτω εντολή
wget url
θα κατεβάσει την ιστοσελίδα url στο φάκελο στον οποίο εκτελέσθηκε και θα την αποθηκεύσει στο αρχείο index.html. Όπως θα παρατηρήσετε, αποθηκεύτηκε μεν η ιστοσελίδα αλλά όχι όλες οι απαραίτητες πληροφορίες ώστε να είναι πλήρως εμφανίσιμη και όταν δεν είστε συνδεδεμένοι.
Σε περίπτωση που δε βρεθεί η ιστοσελίδα τότε θα εμφανιστεί ένα μήνυμα λάθους "Resolving url... failed: Host not found." Aν επιθυμείτε να προωθείσετε τα μηνύματα της εντολής wget σε ένα αρχείο τότε με την επιλογή -ο logfile όλα τα μηνύματα αποθηκεύονται στο αρχείο logfile.
wget url -o mylog
Αντί να δημιουργεί κάθε φορά καινούριο αρχείο μηνυμάτων, με την επιλογή -a logfile τα μηνύματα γράφονται στο τέλος του αρχείου logfile. Αν το αρχείο δεν υπάρχει τότε δημιουργείται ενα καινούριο. Φυσικά όλα τα μηνύματα μπορούν να κατασταλλούν με την επιλογή -q ή --quiet.
Αν θελετε να κατεβάσετε με μία εντολή από πολλές ιστοσελίδες τότε μπορείτε να γράψετε όλες τις ιστοσελίδες σε ένα αρχείο εισόδου, για παραδειγμα το αρχείο myinput μπορεί να περιλαμβάνει
url1
url2
url3
Τότε η εντολή
wget -i myinput -a mylog
θα διαβάσει από το αρχείο εισόδου myinput όλες τις ιστοσελίδες που θα δεί, δηλαδή τις url1, url2, url3, και θα τις κατεβάσει γράφοντας όλα τα μηνύματα στο αρχειό mylog.
Το προεπιλεγμένο αρχείο εξόδου όπως είπαμε είναι το index.html. Αυτό μπορεί να αλλαχτεί με την επιλογή -Ο file. Προσοχή: είναι κεφαλαίο αγγλικό ο και όχι μηδέν!!!
wget url -O myurl.html
Η παραπάνω εντολή θα αποθηκεύσει την ιστοσελίδα url στο αρχείο myurl.html.
Σε περίπτωση που η ιστοσελίδα περιέχει εικόνες, τότε η εντολή πρέπει να εκτελεσθεί με την επιλογή -k ή --convert-links ώστε να είναι αυτές διαθέσιμες και για τοπική χρήση. Μια άλλη επιλογή είναι η -m ή --mirror, η οποία δημιουργεί ένα κατοπτρικό αντίγραφο της ιστοσελίδας. Η επιλογή αυτή ενεργοποιεί, εκτός των άλλων, την αναδρομική επιλογή -r ή --recursive. To βάθος της αναδρομής οριζεται:
-l depth
όπου η προεπιλεγμένη τιμή για το depth είναι 5.
H επιλογή -b ή --background θέτει την εντολή στο υπόβαθρο αμέσως μετά την εκκίνησή της. Εάν δεν έχει οριστεί αρχείο εξόδου μέσω της επιλογής -o, τότε το αποτέλεσμα προωθείται στο αρχειό wget-log. Θα παρατηρήσετε ότι με αυτή την εντολή, ο ελέγχος επιστρέφεται αμέσως στη γραμμή εντολών, μαζί με το pid (process identity) της διαδικασίας που ξεκίνησε. Αν ο χρήστης αποσυνδεθεί τότε η διαδικασία αυτή θα συνεχίσει να τρέχει.
Και φυσικά είναι δυνατό τα cookies να ενεργοποιηθούν --cookies=on ή και να απενεργοποιηθούν --cookies=off.
Βιβλιογραφία
Manual pages: wget
No comments:
New comments are not allowed.