Ξύσιμο Ιστού 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;

Όταν θέλουμε να αποκτήσουμε πρόσβαση σε άλλες εφαρμογές από το 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. Δεδομένου ότι πρόκειται για μεταβλητή αντικειμένου, πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί " Ορισμός " για να ορίσουμε τις αναφορές.

Κώδικας:

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: Τώρα, για να δούμε την εφαρμογή εξερεύνησης διαδικτύου, πρέπει να επιλέξουμε την ιδιότητα " Ορατή " και να ορίσουμε την κατάσταση ως " Αληθινή ".

Κώδικας:

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

Step 9: As you can see above “Navigation” method asking which URL to be navigated in internet explorer. Now I need to open the website “Wallstreetnmojo,” and I can give the URL address as follows. “https://www.wallstreetmojo.com/”

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") End Sub

Now run the code, we should see the mentioned web address page in internet explorer.

Here we have a problem that once the web page is opened, our code needs to wait until the page web page fully opened.

Step 10: We need to use the “Do While” loop in VBA to actually wait for our code to go any further until the mentioned page is fully loaded.

So, add below the “Do While” loop to force the macro to wait until the mentioned web page comes to the “Ready State Complete” mode.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub

Step 11: Now, let’s try to get information about the website in a single line. To get the information about the mentioned web address information, we need to use the “Location Name” property.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub

Run the code, and in the message box, we would get the information about the website.

Step 12: Now, at the bottom, we can also print website addresses as well.

Code:

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

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

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

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

ενδιαφέροντα άρθρα...