Χρησιμοποιώντας το Excel VBA και το Σελήνιο

Πίνακας περιεχομένων:

Anonim

Τι είναι το Data Scraping χρησιμοποιώντας σελήνιο;

Το σελήνιο μπορεί να ταξινομηθεί ως το εργαλείο αυτοματισμού που διευκολύνει τη συλλογή πληροφοριών από τις ιστοσελίδες HTML για την εκτέλεση αποκόλλησης ιστού χρησιμοποιώντας το google chrome.

Σε αυτό το σεμινάριο, θα μάθετε:

  • Τι είναι το Data Scraping χρησιμοποιώντας σελήνιο;
  • Πώς να προετοιμάσετε το Excel Macro πριν εκτελέσετε το Data Scraping χρησιμοποιώντας το Selenium;
  • Πώς να ανοίξετε το Google Chrome χρησιμοποιώντας το VBA;
  • Πώς να ανοίξετε ιστότοπο στο Google Chrome χρησιμοποιώντας το VBA;
  • Πώς να αποσύρετε πληροφορίες από τον ιστότοπο χρησιμοποιώντας το VBA;

Πώς να προετοιμάσετε το Excel Macro πριν εκτελέσετε το Data Scraping χρησιμοποιώντας το Selenium;

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

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

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

Βήμα 2) Ορίστε την επιλογή Visual Basic κάτω από την κορδέλα προγραμματιστή.

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

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

Υπο δοκιμή2 ()Τέλος δευτερεύον

Ακολουθούν τα αποτελέσματα της ενότητας: -

Βήμα 5) Πρόσβαση στην επιλογή αναφοράς στην καρτέλα εργαλείου και στη βιβλιοθήκη τύπου Selenium αναφοράς. Οι ακόλουθες βιβλιοθήκες πρέπει να αναφέρονται στην ενότητα καθώς βοηθά στο άνοιγμα του google chrome και διευκολύνει την ανάπτυξη μακροεντολών.

Τώρα το αρχείο Excel είναι έτοιμο να αλληλεπιδράσει με τον εξερευνητή Διαδικτύου. Τα επόμενα βήματα θα ήταν η ενσωμάτωση ενός σεναρίου μακροεντολών που θα διευκόλυνε τη συλλογή δεδομένων σε HTML.

Πώς να ανοίξετε το Google Chrome χρησιμοποιώντας το VBA;

Εδώ, μπορείτε να ανοίξετε το Google Chrome χρησιμοποιώντας το VBA

Βήμα 1) Δηλώστε και αρχικοποιήστε τις μεταβλητές στην υπορουτίνα όπως φαίνεται παρακάτω

Υπο δοκιμή2 ()Ελαφρύ πρόγραμμα οδήγησης ως νέο πρόγραμμα οδήγησης ιστούDim rowc, cc, columnC ως ακέραιος

Βήμα 2) Για να ανοίξετε το google chrome χρησιμοποιώντας σελήνιο και VBA, γράψτε το driver.start "chrome" και πατήστε F5 .

Το ακόλουθο θα ήταν ο κωδικός.

Υπο δοκιμή2 ()Ελαφρύ πρόγραμμα οδήγησης ως νέο πρόγραμμα οδήγησης ιστούDim rowc, cc, columnC ως ακέραιοςDriver.start "Chrome"Εφαρμογή. Περιμένετε τώρα + Timevalue ("00:00:20")Τέλος δευτερεύον

Η ενότητα θα είχε ως εξής: -

Πώς να ανοίξετε ιστότοπο στο Google Chrome χρησιμοποιώντας το VBA;

Μόλις μπορείτε να αποκτήσετε πρόσβαση στο google chrome χρησιμοποιώντας το VBA, το επόμενο βήμα θα ήταν να ενσωματώσετε την πρόσβαση σε έναν ιστότοπο χρησιμοποιώντας το VBA. Αυτό διευκολύνεται από τη λειτουργία get όπου η διεύθυνση URL πρέπει να περάσει ως διπλά εισαγωγικά στο χαρακτηριστικό.

Ακολουθήστε τα παρακάτω βήματα όπως φαίνεται

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

Πατήστε F5 για να εκτελέσετε τη μακροεντολή.

Η ακόλουθη ιστοσελίδα θα ανοίξει στο google chrome όπως εμφανίζεται

Υπο δοκιμή2 ()Ελαφρύ πρόγραμμα οδήγησης ως νέο πρόγραμμα οδήγησης ιστούDim rowc, cc, columnC ως ακέραιοςDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Εφαρμογή. Περιμένετε τώρα + Timevalue ("00:00:20")Τέλος δευτερεύον

Τώρα η μακροεντολή excel είναι έτοιμη σε σχέση με την εκτέλεση των εργασιών απόξεσης Το επόμενο βήμα θα εμφανίσει πώς μπορούν να εξαχθούν οι πληροφορίες εφαρμόζοντας σελήνιο και VBA.

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

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

Από τον παραπάνω ιστότοπο, θα ήταν απαραίτητο να επιθεωρήσετε ένα στοιχείο και να παρατηρήσετε πώς είναι δομημένα τα δεδομένα. Αποκτήστε πρόσβαση στον παρακάτω πηγαίο κώδικα HTML πατώντας control + Shift + I

<κεφάλι>

Ο πηγαίος κώδικας θα έχει ως εξής: -

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

Βήμα 1) Διαμορφώστε ένα για βρόχο που διατρέχει τις πληροφορίες κεφαλίδας HTML ως συλλογή. Το πρόγραμμα οδήγησης σεληνίου πρέπει να βρει τις πληροφορίες κεφαλίδας του πίνακα HTML. Για να το κάνουμε αυτό, χρησιμοποιούμε τη μέθοδο FindElementByClass () και FindElementByTag () για την εκτέλεση της εργασίας όπως εμφανίζεται

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

Υπο δοκιμή2 ()Dim driver ως νέο WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Λάθοςπρόγραμμα οδήγησης. Ξεκινήστε το "chrome"πρόγραμμα οδήγησης. Λήψη "http://demo.guru99.com/test/web-table-element.php"Για κάθε πρόγραμμα οδήγησης in.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Για κάθε t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Επόμενο tΕπόμενη ου

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

Υπο δοκιμή2 ()Dim driver ως νέο WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Λάθοςπρόγραμμα οδήγησης. Ξεκινήστε το "chrome"πρόγραμμα οδήγησης. Λήψη "http://demo.guru99.com/test/web-table-element.php"Για κάθε πρόγραμμα οδήγησης in.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Για κάθε t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Επόμενο tΕπόμενη ουΓια κάθε πρόγραμμα οδήγησης In tr.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")στήληC = 1Για κάθε td In tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC). Value = td.TextστήληC = στήληC + 1Επόμενο tdrowc = rowc + 1Επόμενο trΕφαρμογή. Περιμένετε τώρα + TimeValue ("00:00:20")Τέλος Υποτ

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

Το excel μπορεί να αρχικοποιηθεί μέσω του χαρακτηριστικού εύρους του φύλλου excel ή μέσω του χαρακτηριστικού κελιών του φύλλου excel. Για να μειωθεί η πολυπλοκότητα του σεναρίου VBA, τα δεδομένα συλλογής αρχικοποιούνται στο χαρακτηριστικό Excel excel του φύλλου 2 που υπάρχει στο βιβλίο εργασίας. Επιπλέον, το χαρακτηριστικό κειμένου βοηθά στην τοποθέτηση των πληροφοριών κειμένου κάτω από την ετικέτα HTML.

Υπο δοκιμή2 ()Dim driver ως νέο WebDriverDim rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Λάθοςπρόγραμμα οδήγησης. Ξεκινήστε το "chrome"πρόγραμμα οδήγησης. Λήψη "http://demo.guru99.com/test/web-table-element.php"Για κάθε πρόγραμμα οδήγησης in.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Για κάθε t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1Επόμενο tΕπόμενη ουΓια κάθε πρόγραμμα οδήγησης In tr.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")στήληC = 1Για κάθε td In tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC). Value = td.TextστήληC = στήληC + 1Επόμενο tdrowc = rowc + 1Επόμενο trΕφαρμογή. Περιμένετε τώρα + TimeValue ("00:00:20")Τέλος Υποτ

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

Βήμα 3) Μόλις το σενάριο της μακροεντολής είναι έτοιμο, περάστε και αντιστοιχίστε την υπορουτίνα στο κουμπί excel και βγείτε από την ενότητα του VBA. Επισημάνετε το κουμπί ως ανανέωση ή οποιοδήποτε κατάλληλο όνομα που θα μπορούσε να αρχικοποιηθεί σε αυτό. Για αυτό το παράδειγμα, το κουμπί αρχικοποιείται ως ανανέωση.

Βήμα 4) Πατήστε το κουμπί ανανέωσης για να λάβετε την παρακάτω αναφερόμενη έξοδο

Βήμα 5) Συγκρίνετε τα αποτελέσματα στο excel με τα αποτελέσματα του google chrome

Περίληψη:

  • Το σελήνιο μπορεί να ταξινομηθεί ως το εργαλείο αυτοματισμού που διευκολύνει τη συλλογή πληροφοριών από τις ιστοσελίδες HTML για την εκτέλεση αποκόλλησης ιστού χρησιμοποιώντας το google chrome.
  • Η απόξεση στο Διαδίκτυο πρέπει να γίνεται προσεκτικά.
  • Συνήθως είναι αντίθετο με τους όρους της ιστοσελίδας η απόσυρση πληροφοριών.
  • Όταν το scraping γίνεται μέσω σεληνίου, τότε προσφέρει πολλαπλή υποστήριξη προγράμματος περιήγησης.
  • Με άλλα λόγια, το scraper μπορεί να εκτελέσει παρόμοιες εργασίες απόξεσης μέσω του Firefox, καθώς και του Internet Explorer.
Εταιρεία Ομάδα Προ Κλείσιμο (Rs) Τρέχουσα τιμή (Rs) % Αλλαγή