VBA Web Scraping αριστεύω

⚡ Έξυπνη Σύνοψη

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

  • 🧰 Αυτοματοποίηση VBA: Η VBA οδηγεί τον Internet Explorer από το Excel για να φορτώσει μια ιστοσελίδα και να διαβάσει την HTML της.
  • 📚 Απαιτούμενες αναφορές: Microsoft Βιβλιοθήκη αντικειμένων HTML και Microsoft Τα στοιχεία ελέγχου Διαδικτύου πρέπει να αναφέρονται στο έργο.
  • 🌐 Μέθοδος πλοήγησης: Η μέθοδος Navigate ανοίγει έναν στόχο URLκαι ο κώδικας περιμένει μέχρι να είναι έτοιμη η σελίδα.
  • 🧱 Ανάλυση πίνακα HTML: Η συνάρτηση getElementsByTagName διαβάζει τον πίνακα, ώστε οι γραμμές και τα κελιά του να μπορούν να επαναληφθούν.
  • 📊 Εγγραφή σε κελιά: Οι τιμές που συλλέγονται γράφονται σε κελιά του φύλλου εργασίας, συχνά πίσω από ένα κουμπί Ανανέωσης.
  • 🤖 Βοήθεια AI: Τα εργαλεία τεχνητής νοημοσύνης και οι συγκυβερνήτες δημιουργούν πλέον scraping κώδικα και προσαρμογή επιλογέων όταν αλλάζουν οι διατάξεις.

VBA Web Scraping αριστεύω

Τι είναι το Data Scraping?

Αποκρυπτογράφηση δεδομένωνping είναι η τεχνική που βοηθάει πρώηνtracτις επιθυμητές πληροφορίες από μια ιστοσελίδα HTML σε ένα τοπικό αρχείο στον υπολογιστή σας. Κανονικά, αυτό το τοπικό αρχείο είναι ένα αρχείο Excel, ένα αρχείο Word ή οποιοδήποτε άλλο Microsoft Εφαρμογή Office. Βοηθά στη διοχέτευση κρίσιμων πληροφοριών από την ιστοσελίδα.

Αποκρυπτογράφηση δεδομένωνping καθίσταται πολύτιμη σε ένα έργο που βασίζεται στην έρευνα και εξαρτάται καθημερινά από το διαδίκτυο. Για να το δείξουμε, σκεφτείτε έναν ημερήσιο trader που εκτελεί μια μακροεντολή Excel για να αντλήσει πληροφορίες αγοράς από έναν ιστότοπο χρηματοδότησης σε ένα φύλλο Excel χρησιμοποιώντας VBA.

Πώς να προετοιμάσετε τη μακροεντολή του Excel πριν από το Data Scraping (Internet Explorer)

Υπάρχουν ορισμένες προϋποθέσεις που πρέπει να εκτελεστούν στο αρχείο μακροεντολών του Excel πριν από την έναρξη της σάρωσης δεδομένων.ping διαδικασία.

Αυτές οι προϋποθέσεις είναι οι εξής:

Βήμα 1) Ανοίξτε μια μακροεντολή που βασίζεται στο Excel και αποκτήστε πρόσβαση στην επιλογή Προγραμματιστής του Excel.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping χρησιμοποιώντας τον Internet Explorer

Βήμα 2) Επιλέξτε την επιλογή Visual Basic στην κορδέλα Προγραμματιστής.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping χρησιμοποιώντας τον Internet Explorer

Βήμα 3) Εισαγάγετε μια νέα μονάδα.

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping χρησιμοποιώντας τον Internet Explorer

Βήμα 4) Αρχικοποιήστε μια νέα υπορουτίνα.

Sub test()
End Sub

Η ενότητα θα έχει ως εξής:

Προετοιμασία μακροεντολής Excel πριν από το Data Scraping χρησιμοποιώντας τον Internet Explorer

Βήμα 5) Αποκτήστε πρόσβαση στην επιλογή Αναφορά στην καρτέλα Εργαλεία και ανατρέξτε στο Microsoft Βιβλιοθήκη αντικειμένων HTML και Microsoft Έλεγχοι Διαδικτύου.

Τα ακόλουθα αρχεία πρέπει να αναφέρονται στην ενότητα, καθώς βοηθούν στο άνοιγμα του Internet Explorer και διευκολύνουν τη δημιουργία script μακροεντολών.

Αναφορά Microsoft Βιβλιοθήκη αντικειμένων HTML και έλεγχοι Διαδικτύου

Τώρα, το αρχείο 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 χρησιμοποιώντας το Excel VBA

Ανοίξτε τον Internet Explorer χρησιμοποιώντας το Excel VBA

Πώς να ανοίξετε έναν ιστότοπο στον 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 για να εκτελέσετε τη μακροεντολή. Θα ανοίξει η ακόλουθη ιστοσελίδα όπως φαίνεται.

Άνοιγμα ιστότοπου στον Internet Explorer χρησιμοποιώντας VBA

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

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Βήμα 5) Πατήστε το κουμπί Ανανέωση για να λάβετε το παρακάτω αποτέλεσμα.

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Βήμα 6) Συγκρίνετε τα αποτελέσματα στο Excel με τα αποτελέσματα στον Internet Explorer.

Ξύστε πληροφορίες από τον ιστότοπο χρησιμοποιώντας VBA

Συχνές Ερωτήσεις

Δύο αναφορές απαιτούνται στον επεξεργαστή VBA στην ενότητα Εργαλεία, Αναφορές: η Microsoft Βιβλιοθήκη αντικειμένων HTML και Microsoft Στοιχεία ελέγχου Internet. Επιτρέπουν στο VBA να ανοίξει τον Internet Explorer, να πλοηγηθεί σε ένα URLκαι διαβάστε τα στοιχεία HTML της σελίδας.

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

Ο Internet Explorer έχει καταργηθεί, επομένως τα σύγχρονα έργα χρησιμοποιούν το Selenium VBA προσέγγιση, η οποία καθοδηγεί το Chrome, Firefoxή Edge. Selenium προσφέρει υποστήριξη πολλαπλών προγραμμάτων περιήγησης και πιο αξιόπιστη τοποθεσία στοιχείων για τους τρέχοντες ιστότοπους.

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

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

Συνοψίστε αυτήν την ανάρτηση με: