VBA Web Scraping αριστεύω
⚡ Έξυπνη Σύνοψη
Απομάκρυνση ιστούping με VBA extracδεδομένα ts από ιστοσελίδες HTML απευθείας στο Excel, χρησιμοποιώντας τον αυτοματισμό του Internet Explorer και το Microsoft Βιβλιοθήκη αντικειμένων HTML για πλοήγηση σε έναν ιστότοπο, ανάγνωση ενός πίνακα HTML και εγγραφή των τιμών που συλλέχθηκαν σε κελιά του φύλλου εργασίας.

Τι είναι το Data Scraping?
Αποκρυπτογράφηση δεδομένωνping είναι η τεχνική που βοηθάει πρώηνtracτις επιθυμητές πληροφορίες από μια ιστοσελίδα HTML σε ένα τοπικό αρχείο στον υπολογιστή σας. Κανονικά, αυτό το τοπικό αρχείο είναι ένα αρχείο Excel, ένα αρχείο Word ή οποιοδήποτε άλλο Microsoft Εφαρμογή Office. Βοηθά στη διοχέτευση κρίσιμων πληροφοριών από την ιστοσελίδα.
Αποκρυπτογράφηση δεδομένωνping καθίσταται πολύτιμη σε ένα έργο που βασίζεται στην έρευνα και εξαρτάται καθημερινά από το διαδίκτυο. Για να το δείξουμε, σκεφτείτε έναν ημερήσιο trader που εκτελεί μια μακροεντολή Excel για να αντλήσει πληροφορίες αγοράς από έναν ιστότοπο χρηματοδότησης σε ένα φύλλο Excel χρησιμοποιώντας VBA.
Πώς να προετοιμάσετε τη μακροεντολή του Excel πριν από το Data Scraping (Internet Explorer)
Υπάρχουν ορισμένες προϋποθέσεις που πρέπει να εκτελεστούν στο αρχείο μακροεντολών του Excel πριν από την έναρξη της σάρωσης δεδομένων.ping διαδικασία.
Αυτές οι προϋποθέσεις είναι οι εξής:
Βήμα 1) Ανοίξτε μια μακροεντολή που βασίζεται στο Excel και αποκτήστε πρόσβαση στην επιλογή Προγραμματιστής του Excel.
Βήμα 2) Επιλέξτε την επιλογή Visual Basic στην κορδέλα Προγραμματιστής.
Βήμα 3) Εισαγάγετε μια νέα μονάδα.
Βήμα 4) Αρχικοποιήστε μια νέα υπορουτίνα.
Sub test() End Sub
Η ενότητα θα έχει ως εξής:
Βήμα 5) Αποκτήστε πρόσβαση στην επιλογή Αναφορά στην καρτέλα Εργαλεία και ανατρέξτε στο Microsoft Βιβλιοθήκη αντικειμένων HTML και Microsoft Έλεγχοι Διαδικτύου.
Τα ακόλουθα αρχεία πρέπει να αναφέρονται στην ενότητα, καθώς βοηθούν στο άνοιγμα του Internet Explorer και διευκολύνουν τη δημιουργία script μακροεντολών.
Τώρα, το αρχείο Excel είναι έτοιμο για αλληλεπίδραση με τον Internet Explorer. Το επόμενο βήμα είναι η ενσωμάτωση σεναρίων μακροεντολών που διευκολύνουν την επεξεργασία δεδομένων.ping σε HTML.
Πώς να ανοίξετε τον Internet Explorer χρησιμοποιώντας το Excel VBA
Βήμα 1) Αρχικοποιήστε τη μεταβλητή στην υπορουτίνα όπως φαίνεται παρακάτω.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
Βήμα 2) Για να ανοίξετε τον Internet Explorer χρησιμοποιώντας VBA, γράψτε ie.Visible = True και πατήστε F5.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument ie.Visible = True
Η ενότητα θα έχει την εξής μορφή:
Πώς να ανοίξετε έναν ιστότοπο στον Internet Explorer χρησιμοποιώντας VBA
Ακολουθούν τα βήματα για να ανοίξετε έναν ιστότοπο στον Internet Explorer χρησιμοποιώντας VBA.
Βήμα 1) Μόλις μπορέσετε να αποκτήσετε πρόσβαση στον Internet Explorer χρησιμοποιώντας το Excel VBA, το επόμενο βήμα είναι να αποκτήσετε πρόσβαση σε έναν ιστότοπο χρησιμοποιώντας το VBA. Αυτό διευκολύνεται από το χαρακτηριστικό Navigate, όπου το URL μεταβιβάζεται ως διπλά εισαγωγικά. Ακολουθήστε τα βήματα που εμφανίζονται.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE
Βήμα 2) Πατήστε F5 για να εκτελέσετε τη μακροεντολή. Θα ανοίξει η ακόλουθη ιστοσελίδα όπως φαίνεται.
Τώρα η μακροεντολή του Excel είναι έτοιμη να εκτελέσει το scraping λειτουργίες. Το επόμενο βήμα δείχνει πώς οι πληροφορίες μπορούν να μεταφερθούνtracαπό τον Internet Explorer χρησιμοποιώντας VBA.
Πώς να αποκόψετε πληροφορίες από έναν ιστότοπο χρησιμοποιώντας VBA
Ας υποθέσουμε ότι ο ημερήσιος επενδυτής θέλει να έχει πρόσβαση στα δεδομένα από τον ιστότοπο καθημερινά. Κάθε φορά που κάνει κλικ στο κουμπί, θα πρέπει να εισάγει αυτόματα τα δεδομένα της αγοράς στο Excel.
Από τον παραπάνω ιστότοπο, είναι απαραίτητο να ελέγξετε ένα στοιχείο και να παρατηρήσετε πώς είναι δομημένα τα δεδομένα.
Βήμα 1) Αποκτήστε πρόσβαση στον πηγαίο κώδικα του παρακάτω HTML πατώντας Control + Shift + Εγώ.
<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>
Ο πηγαίος κώδικας θα ήταν ως εξής:
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document
Όπως μπορείτε να δείτε, τα δεδομένα είναι δομημένα ως ένας ενιαίος πίνακας HTML. Επομένως, για να αντλήσετε ολόκληρα τα δεδομένα από τον πίνακα HTML, πρέπει να σχεδιάσετε μια μακροεντολή που συλλέγει τα δεδομένα ως συλλογή.
Στη συνέχεια, η συλλογή επικολλάται στο Excel. Για να επιτύχετε τα επιθυμητά αποτελέσματα, ακολουθήστε τα παρακάτω βήματα.
Βήμα 2) Αρχικοποιήστε το έγγραφο HTML στην υπορουτίνα.
Βήμα 3) Αρχικοποιήστε το στοιχείο συλλογής που υπάρχει στο έγγραφο HTML.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Βήμα 4) Αρχικοποιήστε τα κελιά του φύλλου Excel με τη βοήθεια ενός nested loop όπως φαίνεται.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Το Excel μπορεί να αρχικοποιηθεί χρησιμοποιώντας το χαρακτηριστικό Range ή το χαρακτηριστικό Cells του φύλλου. Για να μειωθεί η πολυπλοκότητα του σεναρίου VBA, τα δεδομένα συλλογής αρχικοποιούνται στο χαρακτηριστικό Cells του Φύλλου 1 στο βιβλίο εργασίας.
Μόλις η δέσμη ενεργειών μακροεντολής είναι έτοιμη, αντιστοιχίστε την υπορουτίνα σε ένα κουμπί του Excel και κλείστε τη λειτουργική μονάδα VBA. Ονομάστε το κουμπί ως Ανανέωση ή οποιοδήποτε κατάλληλο όνομα. Για αυτό το παράδειγμα, το κουμπί φέρει την ετικέτα Ανανέωση.
Βήμα 5) Πατήστε το κουμπί Ανανέωση για να λάβετε το παρακάτω αποτέλεσμα.
Βήμα 6) Συγκρίνετε τα αποτελέσματα στο Excel με τα αποτελέσματα στον Internet Explorer.











