Веб-скрапping за допомогою VBA
Що таке скребання данихping?
Видалення данихping це техніка, яка допомагає у колишніхtracперенесення потрібної інформації з веб-сторінки HTML до локального файлу, що знаходиться на вашому локальному комп'ютері. Зазвичай локальний файл може відповідати файлу Excel, файлу Word або, скажімо так, будь-якому іншому Microsoft офісний додаток. Це допомагає направляти важливу інформацію з веб-сторінки.
Дані скрапping стає простим, коли щодня працюєш над дослідницьким проектом, і такий проект повністю залежить від Інтернету та веб-сайту. Щоб краще проілюструвати цю тему, візьмемо приклад денного трейдера, який запускає макрос Excel для вилучення ринкової інформації з фінансового веб-сайту в електронну таблицю Excel за допомогою VBA.
Як підготувати макрос Excel перед виконанням стирання данихping користуєтеся Internet Explorer?
Існують певні передумови, які необхідно виконати для файлу макросу Excel, перш ніж розпочати процес стирання даних.ping в екселі.
Ці передумови такі: –
Крок 1) Відкрийте макрос на основі Excel і перейдіть до опції розробника excel.
Крок 2) Виберіть параметр Visual Basic на стрічці розробника.
Крок 3) Вставте новий модуль.
Крок 4) Ініціалізація нової підпрограми
Sub test() End sub
Модуль матиме такий результат: –
Крок 5) Перейдіть до опції посилання на вкладці інструментів і посилання Microsoft Бібліотека об'єктів HTML і Microsoft контроль інтернету.
Наступні файли мають бути посиланнями на модуль, оскільки він допомагає відкривати Internet Explorer і полегшує розробку сценаріїв макросів.
Тепер файл 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, напишіть тобто видимий=правдивий і натисніть 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.ping функції. На наступному кроці буде показано, як можна використати інформацію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 у підпрограмі
Модуль VBA виглядатиме так: –
Крок 3) Ініціалізуйте елемент колекції, присутній у документі HTML
Модуль VBA виглядатиме так: –
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 за допомогою вкладеного циклу, як показано
Модуль VBA виглядатиме так: –
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 можна ініціалізувати за допомогою атрибута діапазону аркуша Excel або через атрибут клітинок аркуша Excel. Щоб зменшити складність сценарію VBA, дані колекції ініціалізуються атрибутом клітинок Excel аркуша 1, наявного в робочій книзі.
Коли сценарій макросу буде готовий, передайте та призначте підпрограму кнопці excel і вийдіть із модуля VBA. Позначте кнопку як оновити або будь-яку відповідну назву, яку можна ініціалізувати. У цьому прикладі кнопка ініціалізується як оновлення.
Крок 5) Натисніть кнопку оновлення, щоб отримати наведений нижче результат
Крок 6) Порівняйте результати в Excel з результатами Internet Explorer
Резюме
- Дані скрапping дозволяє користувачеві витягувати лише ту інформацію, яка йому потрібна. Щоб знайти найкращі інструменти для цієї мети, перегляньте цей список веб-скрапінгуping інструменти, які можуть допомогти вам ефективноtracпотрібну інформацію з різних вебсайтів.
- Скрапping можна виконати за допомогою Internet Explorer.
- Процес скрабуping повільніший у випадку Internet Explorer; проте він забезпечує бажані результати для користувача.
- Подряпинаping слід виконувати з абсолютною обережністю та обережністю, оскільки це може пошкодити та призвести до збою системи, яка використовується для скрапінгу.ping.











