Semalt Expert: Python και BeautifulSoup. Ξύστε ιστοσελίδες με ευκολία

Κατά την εκτέλεση έργων ανάλυσης δεδομένων ή μηχανικής εκμάθησης, ίσως χρειαστεί να αποκόψετε ιστότοπους για να λάβετε τα απαραίτητα δεδομένα και να ολοκληρώσετε το έργο σας. Η γλώσσα προγραμματισμού Python διαθέτει μια ισχυρή συλλογή εργαλείων και ενοτήτων που μπορούν να χρησιμοποιηθούν για το σκοπό αυτό. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη μονάδα BeautifulSoup για ανάλυση HTML.

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

Χαρακτηριστικά BeautifulSoup

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

- Μετατρέπει αυτόματα τα εξερχόμενα έγγραφα σε UTF-8 και τα εισερχόμενα έγγραφα σε Unicode. Αυτό σημαίνει ότι δεν θα χρειαστεί να ανησυχείτε για κωδικοποιήσεις υπό την προϋπόθεση ότι το έγγραφο έχει καθορίσει μια κωδικοποίηση ή το Beautiful Soup μπορεί να τον εντοπίσει αυτόματα.

- Το BeautifulSoup θεωρείται ανώτερο από άλλους δημοφιλείς αναλυτές Python όπως html5lib και lxml. Επιτρέπει τη δοκιμή διαφορετικών στρατηγικών ανάλυσης. Ένα μειονέκτημα αυτής της ενότητας, ωστόσο, είναι ότι παρέχει περισσότερη ευελιξία σε βάρος της ταχύτητας.

Τι χρειάζεστε για να αποκόψετε τον ιστότοπο με το BeautifulSoup;

Για να ξεκινήσετε να εργάζεστε με το BeautifulSoup, πρέπει να έχετε ρυθμίσει το περιβάλλον προγραμματισμού Python (είτε τοπικό είτε διακομιστή) στο μηχάνημά σας. Το Python είναι συνήθως προεγκατεστημένο στο OS X, αλλά αν χρησιμοποιείτε Windows, θα πρέπει να κάνετε λήψη και εγκατάσταση της γλώσσας από τον επίσημο ιστότοπο.

Πρέπει να έχετε εγκατεστημένες τις μονάδες BeautifulSoup και Requests.

Τέλος, το να είστε εξοικειωμένοι και άνετοι όταν εργάζεστε με ετικέτες HTML και δομή είναι σίγουρα χρήσιμο δεδομένου ότι θα εργάζεστε με δεδομένα που προέρχονται από τον Ιστό.

Εισαγωγή αιτημάτων και βιβλιοθηκών BeautifulSoup

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

Η βιβλιοθήκη αιτημάτων σάς δίνει τη δυνατότητα να χρησιμοποιήσετε μια ανθρώπινη αναγνώσιμη μορφή HTTP στα προγράμματα Python σας, ενώ το BeautifulSoup ολοκληρώνει την απόξεση με μεγαλύτερη ταχύτητα. Μπορείτε να χρησιμοποιήσετε τη δήλωση εισαγωγής για να λάβετε και τις δύο βιβλιοθήκες.

Πώς να συλλέξετε και να αναλύσετε μια ιστοσελίδα

Χρησιμοποιήστε τη μέθοδο request.get () για να συλλέξετε τη διεύθυνση URL της ιστοσελίδας από την οποία θέλετε να εξαγάγετε δεδομένα. Στη συνέχεια, δημιουργήστε ένα αντικείμενο BeautifulSoup ή αναλύστε το δέντρο. Αυτό το αντικείμενο παίρνει το έγγραφο από τα αιτήματα ως ορίσματα και μετά το αναλύει. Με τη σελίδα που συλλέγεται, αναλύεται και ρυθμίζεται ως αντικείμενο BeautifulSoup, μπορείτε στη συνέχεια να προχωρήσετε στη συλλογή των δεδομένων που χρειάζεστε.

Εξαγωγή του επιθυμητού κειμένου από την αναλυμένη ιστοσελίδα

Όποτε θέλετε να συλλέξετε δεδομένα ιστού, πρέπει να γνωρίζετε πώς περιγράφονται αυτά τα δεδομένα από το μοντέλο αντικειμένου εγγράφου (DOM) της ιστοσελίδας. Στο πρόγραμμα περιήγησης ιστού σας, κάντε δεξί κλικ (εάν χρησιμοποιείτε Windows) ή κάντε κλικ στο CTRL + (εάν χρησιμοποιείτε macOS) σε ένα από τα στοιχεία που αποτελούν μέρος των δεδομένων που σας ενδιαφέρουν. Για παράδειγμα, εάν θέλετε να αντλήσετε δεδομένα σχετικά με τις εθνικότητες των μαθητών, κάντε κλικ σε ένα από τα ονόματα ενός μαθητή. Εμφανίζεται ένα μενού περιβάλλοντος και μέσα σε αυτό θα δείτε ένα στοιχείο μενού παρόμοιο με το Inspect Element (για Firefox) ή το Inspect (για Chrome). Κάντε κλικ στο σχετικό στοιχείο μενού Επιθεώρηση και τα εργαλεία προγραμματιστή ιστού θα εμφανιστούν στο πρόγραμμα περιήγησής σας.

Το BeautifulSoup είναι ένα απλό αλλά ισχυρό εργαλείο ανάλυσης HTML που σας επιτρέπει μεγάλη ευελιξία κατά τη σάρωση ιστότοπων . Όταν το χρησιμοποιείτε, μην ξεχάσετε να τηρήσετε τους γενικούς κανόνες απομάκρυνσης, όπως τον έλεγχο των Όρων και Προϋποθέσεων του ιστότοπου. επανεξετάζετε τακτικά τον ιστότοπο και ενημερώνετε τον κωδικό σας σύμφωνα με τις αλλαγές που πραγματοποιούνται στον ιστότοπο. Έχοντας αυτές τις γνώσεις σχετικά με την απόσυρση ιστότοπων με το Python και το BeautifulSoup, μπορείτε πλέον να λαμβάνετε εύκολα τα δεδομένα ιστού που χρειάζεστε για το έργο σας.