Πώς να χρησιμοποιήσετε την εντολή wget Linux για να κάνετε λήψη ιστοσελίδων και αρχείων

Το βοηθητικό πρόγραμμα wget σας επιτρέπει να κατεβάζετε ιστοσελίδες, αρχεία και εικόνες από τον ιστό χρησιμοποιώντας τη γραμμή εντολών Linux.

Μπορείτε να χρησιμοποιήσετε μόνοι σας μια εντολή wget για να την κατεβάσετε από έναν ιστότοπο ή να ρυθμίσετε ένα αρχείο εισόδου για να κάνετε λήψη πολλών αρχείων σε πολλαπλούς ιστότοπους.

Σύμφωνα με τη σελίδα εγχειριδίου, το wget μπορεί να χρησιμοποιηθεί ακόμη και όταν ο χρήστης έχει αποσυνδεθεί από το σύστημα. Για να γίνει αυτό θα χρησιμοποιούσατε την εντολή nohup.

Το βοηθητικό πρόγραμμα wget θα δοκιμάσει ξανά μια λήψη ακόμη και όταν η σύνδεση πέσει, συνεχίζοντας από εκεί που έπαψε, αν είναι δυνατόν, όταν η σύνδεση επιστρέφει.

Μπορείτε να κατεβάσετε ολόκληρους ιστότοπους χρησιμοποιώντας το wget και να μετατρέψετε τους συνδέσμους σε σημεία με τοπικές πηγές, ώστε να μπορείτε να προβάλετε έναν ιστοτόπο εκτός σύνδεσης.

Τα χαρακτηριστικά του wget είναι τα εξής:

Πώς να κατεβάσετε μια ιστοσελίδα χρησιμοποιώντας το wget

Για αυτόν τον οδηγό, θα σας δείξω πώς να κατεβάσετε το προσωπικό μου blog.

wget www.everydaylinuxuser.com

Αξίζει να δημιουργήσετε τον δικό σας φάκελο στο μηχάνημά σας χρησιμοποιώντας την εντολή mkdir και στη συνέχεια να μετακινηθείτε στον φάκελο χρησιμοποιώντας την εντολή cd .

Για παράδειγμα:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

Το αποτέλεσμα είναι ένα ενιαίο αρχείο index.html. Από μόνη της, αυτό το αρχείο είναι αρκετά άχρηστο καθώς το περιεχόμενο εξακολουθεί να τραβιέται από την Google και οι εικόνες και τα φύλλα στυλ εξακολουθούν να υπάρχουν στο Google.

Για να κάνετε λήψη ολόκληρου του ιστότοπου και όλων των σελίδων, μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή:

wget -r www.everydaylinuxuser.com

Αυτό αναστέλλει τις σελίδες αναδρομικά μέχρι το πολύ 5 επίπεδα βαθιά.

5 επίπεδα βαθιά μπορεί να μην είναι αρκετό για να πάρει τα πάντα από την περιοχή. Μπορείτε να χρησιμοποιήσετε το διακόπτη -l για να ορίσετε τον αριθμό των επιπέδων στα οποία θέλετε να μεταβείτε ως εξής:

wget -r -l10 www.everydaylinuxuser.com

Εάν θέλετε άπειρη επανάληψη, μπορείτε να χρησιμοποιήσετε τα εξής:

wget -r -l inf www.everydaylinuxuser.com

Μπορείτε επίσης να αντικαταστήσετε το inf με 0 που σημαίνει το ίδιο πράγμα.

Υπάρχει ακόμα ένα ακόμα πρόβλημα. Ενδέχεται να έχετε όλες τις σελίδες τοπικά, αλλά όλοι οι σύνδεσμοι στις σελίδες εξακολουθούν να δείχνουν στην αρχική τους θέση. Συνεπώς, δεν είναι δυνατή η τοπική κλικ μεταξύ των συνδέσμων στις σελίδες.

Μπορείτε να παρακάμψετε αυτό το πρόβλημα χρησιμοποιώντας το διακόπτη -k, το οποίο μετατρέπει όλους τους συνδέσμους στις σελίδες για να υποδεικνύει το τοπικά κατεβασμένο ισοδύναμο τους ως εξής:

wget -r -k www.everydaylinuxuser.com

Εάν θέλετε να αποκτήσετε έναν πλήρη καθρέφτη ενός ιστότοπου, μπορείτε απλά να χρησιμοποιήσετε τον ακόλουθο διακόπτη ο οποίος αφαιρεί την ανάγκη χρήσης των διακοπτών -r -k και -l.

wget -m www.everydaylinuxuser.com

Επομένως, εάν έχετε τον δικό σας ιστότοπο, μπορείτε να δημιουργήσετε ένα πλήρες αντίγραφο ασφαλείας χρησιμοποιώντας αυτή την απλή εντολή.

Εκτελέστε wget ως εντολή ιστορικού

Μπορείτε να πάρετε το wget να τρέξει ως εντολή φόντου αφήνοντας σας σε θέση να προχωρήσει με την εργασία σας στο τερματικό παράθυρο, ενώ τα αρχεία κατέβασμα.

Απλά χρησιμοποιήστε την ακόλουθη εντολή:

wget -b www.everydaylinuxuser.com

Μπορείτε φυσικά να συνδυάσετε διακόπτες. Για να εκτελέσετε την εντολή wget στο παρασκήνιο ενώ αντικατοπτρίζετε τον ιστότοπο θα χρησιμοποιήσετε την ακόλουθη εντολή:

wget -b -m www.everydaylinuxuser.com

Μπορείτε να το απλοποιήσετε περαιτέρω ως εξής:

wget -bm www.everydaylinuxuser.com

Ξύλευση

Εάν εκτελείτε την εντολή wget στο παρασκήνιο, δεν θα δείτε κανένα από τα κανονικά μηνύματα που στέλνει στην οθόνη.

Μπορείτε να αποστέλλετε όλα αυτά τα μηνύματα σε ένα αρχείο καταγραφής, ώστε να μπορείτε να ελέγχετε την πρόοδο οποιαδήποτε στιγμή χρησιμοποιώντας την εντολή ουράς .

Για να εξάγετε πληροφορίες από την εντολή wget σε ένα αρχείο καταγραφής, χρησιμοποιήστε την ακόλουθη εντολή:

wget -o / path / to / mylogfile www.everydaylinuxuser.com

Το αντίστροφο, βέβαια, είναι να μην απαιτείται καμία καταγραφή καθόλου και καμία έξοδος στην οθόνη. Για να παραλείψετε την έξοδο χρησιμοποιήστε την ακόλουθη εντολή:

wget -q www.everydaylinuxuser.com

Λήψη από πολλούς ιστότοπους

Μπορείτε να ρυθμίσετε ένα αρχείο εισόδου για λήψη από πολλές διαφορετικές τοποθεσίες.

Ανοίξτε ένα αρχείο χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή ή ακόμα και την εντολή γάτας και απλά ξεκινήστε να αναφέρετε τους ιστότοπους ή τους συνδέσμους για να κατεβάσετε από κάθε γραμμή του αρχείου.

Αποθηκεύστε το αρχείο και στη συνέχεια εκτελέστε την ακόλουθη εντολή wget:

wget -i / path / to / αρχείο εισόδου

Εκτός από τη δημιουργία αντιγράφων ασφαλείας της δικής σας ιστοσελίδας ή την εύρεση κάποιου υλικού που μπορείτε να κατεβάσετε για να διαβάσετε στο τρένο, είναι απίθανο να θέλετε να κατεβάσετε ολόκληρο τον ιστότοπο.

Είναι πιο πιθανό να κατεβάσετε μια μοναδική διεύθυνση URL με εικόνες ή ίσως κατεβάσετε αρχεία όπως αρχεία zip, αρχεία ISO ή αρχεία εικόνων.

Με αυτό κατά νου δεν θέλετε να πληκτρολογήσετε τα ακόλουθα στο αρχείο εισόδου δεδομένου ότι είναι χρονοβόρα:

Εάν γνωρίζετε ότι η βασική διεύθυνση URL θα είναι πάντα η ίδια, μπορείτε να καθορίσετε ακριβώς τα εξής στο αρχείο εισόδου:

Μπορείτε στη συνέχεια να δώσετε τη βασική διεύθυνση URL ως μέρος της εντολής wget ως εξής:

wget -B http://www.myfileserver.com -i / path / to / αρχείο εισόδου

Επανάληψη επιλογών

Εάν έχετε ρυθμίσει μια ουρά αρχείων για λήψη εντός ενός αρχείου εισόδου και αφήνετε τον υπολογιστή σας να τρέχει όλη τη νύχτα για να κατεβάσετε τα αρχεία θα είναι αρκετά ενοχλημένος όταν κατεβείτε το πρωί για να διαπιστώσετε ότι έχει κολλήσει στο πρώτο αρχείο και έχει ξανακερδίσει όλη τη νύχτα.

Μπορείτε να καθορίσετε τον αριθμό των επαναλήψεων χρησιμοποιώντας τον ακόλουθο διακόπτη:

wget -t 10 -i / path / to / inputfile

Ίσως θελήσετε να χρησιμοποιήσετε την παραπάνω εντολή σε συνδυασμό με τον διακόπτη -T που σας επιτρέπει να ορίσετε ένα χρονικό όριο σε δευτερόλεπτα ως εξής:

wget -t 10 -T 10 -i / διαδρομή / προς / αρχείο εισόδου

Η παραπάνω εντολή θα ξαναδοκιμάσει 10 φορές και θα προσπαθήσει να συνδεθεί για 10 δευτερόλεπτα για κάθε σύνδεσμο στο αρχείο.

Είναι επίσης αρκετά ενοχλητικό όταν έχετε κατεβάσει εν μέρει το 75% ενός αρχείου 4 gigabyte σε μια αργή ευρυζωνική σύνδεση μόνο για να αποχωρήσετε από τη σύνδεσή σας.

Μπορείτε να χρησιμοποιήσετε το wget για να προσπαθήσετε ξανά από εκεί που σταμάτησε η λήψη χρησιμοποιώντας την ακόλουθη εντολή:

wget -c www.myfileserver.com/file1.zip

Εάν σφυροκοπείτε σε ένα διακομιστή, ο κεντρικός υπολογιστής ίσως να μην το αρέσει πάρα πολύ και μπορεί να μπλοκάρει ή απλά να σκοτώνει τα αιτήματά σας.

Μπορείτε να καθορίσετε μια περίοδο αναμονής που καθορίζει το χρονικό διάστημα αναμονής μεταξύ κάθε ανάκτησης ως εξής:

wget -w 60 -i / path / to / αρχείο εισόδου

Η παραπάνω εντολή θα περιμένει 60 δευτερόλεπτα μεταξύ κάθε λήψης. Αυτό είναι χρήσιμο αν κάνετε λήψη πολλών αρχείων από μια μόνο πηγή.

Ορισμένοι οικοδεσπότες Ιστού ενδέχεται να εντοπίσουν τη συχνότητα και ωστόσο θα σας αποκλείσουν. Μπορείτε να κάνετε την περίοδο αναμονής τυχαία για να φανεί σαν να μην χρησιμοποιείτε κάποιο πρόγραμμα ως εξής:

wget --random-wait -i / path / to / inputfile

Προστασία των ορίων λήψης

Πολλοί πάροχοι υπηρεσιών διαδικτύου εξακολουθούν να εφαρμόζουν όρια λήψης για την ευρυζωνική σας χρήση, ειδικά αν ζείτε έξω από μια πόλη.

Μπορεί να θέλετε να προσθέσετε μια ποσόστωση έτσι ώστε να μην φυσήξετε το όριο λήψης. Μπορείτε να το κάνετε με τον εξής τρόπο:

wget -q 100m -i / path / to / αρχείο εισόδου

Σημειώστε ότι η εντολή -q δεν θα λειτουργήσει με ένα μόνο αρχείο.

Έτσι, εάν κάνετε λήψη ενός αρχείου μεγέθους 2 gigabytes, χρησιμοποιώντας το -q 1000m δεν θα σταματήσει η λήψη του αρχείου.

Η ποσόστωση εφαρμόζεται μόνο όταν μεταφορτώνεται αναδρομικά από έναν ιστότοπο ή όταν χρησιμοποιείται ένα αρχείο εισόδου.

Μετάβαση μέσω ασφαλείας

Ορισμένοι ιστότοποι απαιτούν να συνδεθείτε για να έχετε πρόσβαση στο περιεχόμενο που θέλετε να κάνετε λήψη.

Μπορείτε να χρησιμοποιήσετε τους παρακάτω διακόπτες για να καθορίσετε το όνομα χρήστη και τον κωδικό πρόσβασης.

wget - user = όνομα χρήστη - password = yourpassword

Σημείωση σε ένα σύστημα πολλαπλών χρηστών αν κάποιος τρέξει την εντολή ps θα μπορεί να δει το όνομα χρήστη και τον κωδικό πρόσβασής σας.

Άλλες επιλογές λήψης

Από προεπιλογή, ο διακόπτης -r θα μεταφορτώσει αναδρομικά το περιεχόμενο και θα δημιουργήσει τους καταλόγους καθώς πηγαίνει.

Μπορείτε να λάβετε όλα τα αρχεία που θέλετε να μεταφορτώσετε σε ένα μόνο φάκελο χρησιμοποιώντας τον ακόλουθο διακόπτη:

wget -nd -r

Το αντίθετο από αυτό είναι να αναγκάσει τη δημιουργία των καταλόγων που μπορούν να επιτευχθούν χρησιμοποιώντας την ακόλουθη εντολή:

wget -x -r

Πώς να κατεβάσετε ορισμένους τύπους αρχείων

Αν θέλετε να κάνετε λήψη αναδρομικά από έναν ιστότοπο, αλλά θέλετε να κάνετε λήψη συγκεκριμένου τύπου αρχείου, όπως ένα mp3 ή μια εικόνα όπως png, μπορείτε να χρησιμοποιήσετε την ακόλουθη σύνταξη:

wget -A "* .mp3" -r

Το αντίθετο από αυτό είναι να αγνοήσουμε ορισμένα αρχεία. Ίσως δεν θέλετε να κάνετε λήψη εκτελέσιμων αρχείων. Σε αυτήν την περίπτωση, θα χρησιμοποιούσατε την ακόλουθη σύνταξη:

wget -R "* .exe" -r

Cliget

Υπάρχει ένα πρόσθετο του Firefox που ονομάζεται cliget. Μπορείτε να προσθέσετε αυτό στον Firefox με τον ακόλουθο τρόπο.

Επισκεφθείτε τη διεύθυνση https://addons.mozilla.org/en-US/firefox/addon/cliget/ και κάντε κλικ στο κουμπί "Προσθήκη στο Firefox".

Κάντε κλικ στο κουμπί εγκατάστασης όταν εμφανιστεί. Θα χρειαστεί να κάνετε επανεκκίνηση του Firefox.

Για να χρησιμοποιήσετε το cliget, επισκεφτείτε μια σελίδα ή ένα αρχείο που θέλετε να κάνετε λήψη και κάντε δεξί κλικ. Θα εμφανιστεί ένα μενού περιβάλλοντος που ονομάζεται cliget και θα υπάρχουν επιλογές "copy to wget" και "copy to curl".

Κάντε κλικ στην επιλογή "copy to wget" και ανοίξτε ένα παράθυρο τερματικού και κάντε δεξί κλικ και επικολλήστε το. Η κατάλληλη εντολή wget θα επικολληθεί στο παράθυρο.

Βασικά, αυτό σας εξοικονομεί να πρέπει να πληκτρολογήσετε την εντολή σας.

Περίληψη

Η εντολή wget ως ένας τεράστιος αριθμός επιλογών και διακοπτών.

Αξίζει λοιπόν να διαβάσετε τη σελίδα εγχειριδίου για το wget πληκτρολογώντας τα ακόλουθα σε ένα παράθυρο τερματικού:

άνθρωπος wget