Σύντομος οδηγός wget

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

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

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Σύντομος οδηγός wget

Δημοσίευσηαπό Dimitris » 19 Μάιος 2008, 16:01

Oδηγός wget

Το wget είναι ένα πρόγραμμα για συλλογή δεδομένων από το διαδίκτυο, το οποίο μπορεί να εκτελεστεί και στο υπόβαθρο (background). Αυτό σημαίνει ότι ο χρήστης μπορεί ακόμη και να αποσυνδεθεί από το σύστημα ενώ η εντολή wget θα συνεχίσει να εκτελείται.

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

Στο σημείο αυτό πρέπει να τονίσω ότι η δυνατότητα του να κατεβάζει κανείς δεδομένα από το διαδίκτυο από τη γραμμή εντολών σημαίνει ότι μπορεί να ενσωματωθεί σε ένα αρχείο εντολών κελύφους (script) και να εκτελεσθεί αυτόματα. Αυτό επιτρέπει την κατάχρηση ιστοσελίδων, που μπορεί να οδηγήσει στην κατάρρευσή τους. Αρά δεν ειναι αποδεκτή μια τέτοια χρήση και προτείνεται να γίνεται πάντα με μέτρο. Γι'αυτό στον οδηγό αυτό δε θα χρησιμοποιηθεί καμία ιστοσελίδα ως παράδειγμα αλλά πάντα η λέξη "url". Σε όλα τα παραδείγματα μπορείτε να αντικαταστήσετε τη λέξη url με οποιαδήποτε ιστοσελίδα όπως για παράδειγμα http://www.google.com ή http://forum.ubuntu-gr.org.

Όπως η περισσότερες εντολές η επιλογή -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
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Σύντομος οδηγός wget

Δημοσίευσηαπό taratatzoum » 22 Σεπ 2008, 13:07

Αυτό επιτρέπει την κατάχρηση ιστοσελίδων


τι εννοούμε κατάχρηση ιστοσελίδων;
πχ το προσωπικό μου site στο server που έχω σπίτι , τι μπορεί να πάθει;
Ιστολόγιο
1 Γνώσεις → Linux: Προχωρημένος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Λειτουργικό → Slackware 13.37.0 64-bit (el_GR.utf-8)
3 Προδιαγραφές → CPU: 8x Intel Core i7 CPU Q 740 1.73GHz ‖ RAM 3894 MiB ‖ Dell Inc. - Dell Inc. Inspiron N5010
4 Κάρτες γραφικών: ATI Redwood [Radeon HD 5600 Series] ⎨1002:68c1⎬
5 Δίκτυα: wlan0: Broadcom BCM4313 802.11b/g/n Wireless LAN Controller ⎨14e4:4727⎬ ⋮ eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller ⎨10ec:8136⎬
taratatzoum
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 849
Εγγραφή: 10 Μάιος 2008, 20:29
Τοποθεσία: Χανιά
Launchpad: rizitis
IRC: rizitis or rtz
Εκτύπωση

Re: Σύντομος οδηγός wget

Δημοσίευσηαπό sudobash » 22 Σεπ 2008, 14:18

Μερικά χρήσιμα flags για το download ενός ολόκληρου website (πχ. για περίπτωση κάποιου multi html page tutorial)

Κώδικας: Επιλογή όλων
wget     --recursive     --domains example.com     --no-parent     --page-requisites     --html-extension     --convert-links         www.example.com/tutorials/python/


--recursive: αναδρομικό download για να σαρώσει όλο το site
--domains example.com: να μείνει μόνο στο domain example.com
--no-parent: να μην πάει σε γονικούς φακέλους
--page-requisites: να κατεβάσει και όλα τα απαραίτητα για τη σελίδα αρχεία (πχ. CSS και εικόνες)
--html-extension: να αποθηεκεύσει τα αρχεία σαν html σελίδες
--convert-links: να μετατρέψει τα links ώστε να δείχνουν τοπικά για χρήση offline (όχι πχ στο example.com)

Η χρήση του να γίνει προσεχτικά! Μην κατεβάσετε και όλο το ίντερνετ! :)
Ubuntu 9.10 32bit | 2 x Intel Core 2 Duo T5500 @ 1.66GHz | 2GB DDR2 RAM | Intel 950 Graphics
Richard Stallman wrote the compiler God used. The Big Bang was the Universe's first segfault.
Άβαταρ μέλους
sudobash
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 876
Εγγραφή: 13 Μάιος 2008, 20:11
Τοποθεσία: Κρήτη
Εκτύπωση

Re: Σύντομος οδηγός wget

Δημοσίευσηαπό gourgi » 22 Σεπ 2008, 15:28

εναλλακτικό για websites είναι το WebHTTrack
WebHTTrack
Όσο ζω ... μαθαίνω!
Desktop:stable9.04 i386|testing9.10 i386|Opteron Amd64 1.8GHz|RAM 2GB|Nvidia 6600GT|Msi K8N Platinum|Live! 24bit 5.1|Pixelview Playtv Pro BT878+rev.9d
Asus EEE 1000h9.04 i386|N270|RAM 2GB|945GME|RT2860|82801G
Oδηγίες προς νεοεισερχόμενους σε forum ή linux
Άβαταρ μέλους
gourgi
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 681
Εγγραφή: 02 Ιουν 2008, 14:45
Τοποθεσία: Ξάνθη - Πτελεός
IRC: gourgi
Εκτύπωση

Re: Σύντομος οδηγός wget

Δημοσίευσηαπό Kasious » 12 Μαρ 2010, 15:19

σε script πως μπορώ με την wget να επιτρέπω στον χρήστη να επιλέγει το url ;

δηλ. αν έχουμε : wget url -o mylog

τι πρέπει να κάνουμε ώστε ο χρήστης να επιλέγει το url ;
Kasious
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 12 Μαρ 2010, 15:12
Εκτύπωση

Re: Σύντομος οδηγός wget

Δημοσίευσηαπό elefher » 01 Μάιος 2010, 12:39

Παιδιά θα ήθελα να μάθω πως μπορώ να κατεβάσω ενα αρχείο π.χ. το flash player μέσο τερματικού με τη wget.Δοίμασα με wget -c url αλλα μου κατεβάζει μόνο τη σελίδα και όχι το αρχείω που θέλω εγώ. Έψαξα στη man αλλά δεν έβγαλα άκρη .Όποιος μπορεί ας βοηθύση.Ευχαριστώ
⇛ Linux: Αρχάριος ┃ Προγραμματισμός:C/C++ ┃ Αγγλικά: χάλια
⇛ ubuntu 10.10 LTS 32-bit
⇛ Intel(R) core(TM)2 Duo CPU E4600@2.4GHz ┃ RAM:2GB DDR2 ┃ ATI SAPPHIRE HD 2400 PRO 250MB
⇛ Netbook ACER ASPIRE ONE D250 με ubuntu 10.10 LTS 32-bit
⇛ Turbo-X με ubuntu 12.04 LTS 32-bit Intel® Core™2 Duo CPU T8100 @ 2.10GHz × 2 VESA: M74
Άβαταρ μέλους
elefher
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 566
Εγγραφή: 03 Μάιος 2009, 03:15
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials