Ξύσιμο Ιστού VBA | Πώς να απορρίψετε ιστότοπους χρησιμοποιώντας το Excel VBA;

Ξύσιμο Ιστού Excel VBA

Το VBA Web Scraping είναι μια τεχνική πρόσβασης σε ιστοσελίδες και λήψης δεδομένων από αυτόν τον ιστότοπο στα αρχεία του υπολογιστή μας. Η απόσυρση Ιστού είναι δυνατή με πρόσβαση σε εξωτερικές εφαρμογές όπως ο Internet Explorer. Μπορούμε να το κάνουμε με δύο τρόπους, π.χ. Early Binding & Late Binding.

Το Web Scraping με VBA σημαίνει ότι όταν χρησιμοποιούμε το VBA για τη λήψη δεδομένων από τις άλλες πηγές στον ιστό, αυτό μπορεί να απαιτεί σύνδεση για τις πηγές δεδομένων, αλλά πρώτα, για να γίνει αυτό, πρέπει να ενεργοποιήσουμε τις αναφορές από την ενότητα εργαλείων στο το πρόγραμμα επεξεργασίας VBA για τη βιβλιοθήκη HTML της Microsoft, προκειμένου να έχει πρόσβαση στον Ιστό από το VBA.

Δεν γνωρίζουμε πολλοί από εμάς ότι από το excel μπορούμε να έχουμε πρόσβαση στις ιστοσελίδες και να λάβουμε τα δεδομένα από αυτές τις ιστοσελίδες. Ναι, το ακούσατε σωστά. μπορούμε να κάνουμε σάρωση μέσω ιστοσελίδων, πρόσβασης σε εφαρμογές περιήγησης και πολλά άλλα. Σε αυτό το άρθρο, θα σας δείξουμε πώς να συντάξετε λεπτομερώς έναν κώδικα VBA excel για το web scraping

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

Πώς να απορρίψετε δεδομένα ιστότοπου χρησιμοποιώντας το VBA;

Μπορείτε να κατεβάσετε αυτό το πρότυπο VBA Web Scraping Excel εδώ - Πρότυπο VBA Web Scraping Excel

Όταν θέλουμε να αποκτήσουμε πρόσβαση σε άλλες εφαρμογές από το excel, μπορούμε να το κάνουμε με τρόπους, όπως "Early Binding" και "Late Binding" Στο στάδιο του αρχάριου, είναι πάντα ασφαλές να χρησιμοποιείτε την τεχνική "Early Binding".

Για πρόσβαση στον ιστότοπο, χρειαζόμαστε περιήγηση σε εφαρμογές, για παράδειγμα, " Internet Explorer ". Δεδομένου ότι είναι εξωτερικό αντικείμενο πρέπει πρώτα να ορίσουμε την αναφορά.

Ακολουθήστε τα παρακάτω βήματα για αποκόμματα ιστού.

Βήμα 1: Ορίστε τη μεταβλητή VBA και αντιστοιχίστε τον τύπο δεδομένων ως " Internet Explorer ".

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως Διαδικτύου End Sub 

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

Βήμα 2: Για να ορίσετε την αναφορά, μεταβείτε στο " Εργαλεία " και επιλέξτε " Αναφορές ".

Στο παρακάτω παράθυρο μετακινηθείτε προς τα κάτω και επιλέξτε " Microsoft Internet Controls ".

Βήμα 3: Επιλέξτε το πλαίσιο "Microsoft Internet Controls" και κάντε κλικ στο Ok. Τώρα πρέπει να δούμε αυτό το όνομα αντικειμένου στη λίστα IntelliSense.

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως Inter End Sub 

Βήμα 4: Επιλέξτε "InternetExplorer".

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer End Sub 

Βήμα 5: Στη συνέχεια, πρέπει να ορίσουμε την αναφορά για να ενεργοποιήσουμε τον Internet Explorer. Δεδομένου ότι αυτή είναι μια μεταβλητή αντικειμένου, πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί " Set " για να ορίσουμε τις αναφορές.

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = Νέο InternetExplorer End Sub 

Βήμα 6: Τώρα χρησιμοποιώντας τη μεταβλητή " Internet_Explorer " μπορούμε να χρησιμοποιήσουμε τις ιδιότητες και τις μεθόδους του Internet Explorer.

Εισαγάγετε το όνομα της μεταβλητής και βάλτε μια τελεία για να δείτε τη λίστα IntelliSense.

Κώδικας:

Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Ορισμός Internet_Explorer = Νέο InternetExplorer Internet_Explorer. Τέλος Υποτ

Βήμα 7: Τώρα για να δούμε την εφαρμογή Internet Explorer, πρέπει να επιλέξουμε την ιδιότητα " Ορατή " και να ορίσουμε την κατάσταση ως " Αληθινή ".

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = Νέο InternetExplorer Internet_Explorer.Visible = True End Sub 

Τώρα εκτελέστε τον κώδικα και θα πρέπει να δείτε ότι ένας Internet Explorer ανοίγει στον υπολογιστή σας.

Βήμα 8: Επειδή δεν έχει αναφερθεί διεύθυνση ιστού, μπορούμε να δούμε μόνο μια κενή σελίδα. Για να δώσουμε τη διεύθυνση Ιστού στον εξερευνητή Διαδικτύου πρέπει να χρησιμοποιήσουμε τη μέθοδο « Πλοήγηση ».

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = Νέο InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

Βήμα 9: Όπως βλέπετε παραπάνω, η μέθοδος "Πλοήγηση" ρωτά ποια διεύθυνση URL πρέπει να πλοηγηθεί στον εξερευνητή Διαδικτύου. Τώρα πρέπει να ανοίξω τον ιστότοπο " Wallstreetnmojo " και μπορώ να δώσω τη διεύθυνση URL ως εξής. "//Www.wallstreetmojo.com/"

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Τέλος Sub 

Τώρα εκτελέστε τον κώδικα, θα πρέπει να δούμε την αναφερόμενη σελίδα διεύθυνσης ιστού στον εξερευνητή Διαδικτύου.

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

Βήμα 10: Πρέπει να χρησιμοποιήσουμε το βρόχο "Do While" στο VBA για να περιμένουμε πραγματικά να προχωρήσει ο κώδικάς μας μέχρι να φορτωθεί πλήρως η αναφερόμενη σελίδα.

Έτσι, προσθέστε κάτω από το βρόχο "Do While" για να αναγκάσετε τη μακροεντολή να περιμένει έως ότου η αναφερθείσα ιστοσελίδα φτάσει στη λειτουργία " Ready State Complete ".

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Κάντε Ενώ Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop 

Βήμα 11: Τώρα ας προσπαθήσουμε να λάβουμε πληροφορίες σχετικά με τον ιστότοπο σε μία γραμμή. Για να λάβουμε τις πληροφορίες σχετικά με τις αναφερόμενες πληροφορίες διεύθυνσης ιστού, πρέπει να χρησιμοποιήσουμε την ιδιότητα " Όνομα τοποθεσίας ".

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Κάντε Ενώ Internet_Explorer.ReadyState READYSTATE_COMPLETE Διαδικτυακή τοποθεσία: Loop 

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

Βήμα 12: Τώρα στο κάτω μέρος, μπορούμε επίσης να εκτυπώσουμε διευθύνσεις ιστότοπου.

Κώδικας:

 Sub Web_Scraping () Dim Internet_Explorer ως InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Κάντε Ενώ το Internet_Explorer.ReadyState READYSTATE_COMPLETE .LocationURL End Sub 

Τώρα αυτό θα πει για την περιγραφή του ιστότοπου και επίσης δείχνει τη διεύθυνση του ιστότοπου.

Πράγματα που πρέπει να θυμάστε εδώ

  • Η απόσυρση Ιστού είναι δυνατή με πρόσβαση σε εξωτερικές εφαρμογές όπως ο Internet Explorer.
  • Μπορούμε να το κάνουμε με δύο τρόπους, δηλαδή Early Binding & Late Binding. Με το Early Binding, μπορούμε να δούμε τη λίστα IntelliSense αλλά με καθυστερημένη δέσμευση, δεν μπορούμε να δούμε καθόλου τη λίστα IntelliSense.