Веб-скрапping за допомогою VBA

Що таке скребання данихping?

Видалення данихping це техніка, яка допомагає у колишніхtracперенесення потрібної інформації з веб-сторінки HTML до локального файлу, що знаходиться на вашому локальному комп'ютері. Зазвичай локальний файл може відповідати файлу Excel, файлу Word або, скажімо так, будь-якому іншому Microsoft офісний додаток. Це допомагає направляти важливу інформацію з веб-сторінки.

Дані скрапping стає простим, коли щодня працюєш над дослідницьким проектом, і такий проект повністю залежить від Інтернету та веб-сайту. Щоб краще проілюструвати цю тему, візьмемо приклад денного трейдера, який запускає макрос Excel для вилучення ринкової інформації з фінансового веб-сайту в електронну таблицю Excel за допомогою VBA.

Як підготувати макрос Excel перед виконанням стирання данихping користуєтеся Internet Explorer?

Існують певні передумови, які необхідно виконати для файлу макросу Excel, перш ніж розпочати процес стирання даних.ping в екселі.

Ці передумови такі: –

Крок 1) Відкрийте макрос на основі Excel і перейдіть до опції розробника excel.

Підготовка макросу Excel перед виконанням стирання данихping використання Internet Explorer

Крок 2) Виберіть параметр Visual Basic на стрічці розробника.

Підготовка макросу Excel перед виконанням стирання данихping використання Internet Explorer

Крок 3) Вставте новий модуль.

Підготовка макросу Excel перед виконанням стирання данихping використання Internet Explorer

Крок 4) Ініціалізація нової підпрограми

Sub test()
End sub

Модуль матиме такий результат: –

Підготовка макросу Excel перед виконанням стирання данихping використання Internet Explorer

Крок 5) Перейдіть до опції посилання на вкладці інструментів і посилання Microsoft Бібліотека об'єктів HTML і Microsoft контроль інтернету.

Наступні файли мають бути посиланнями на модуль, оскільки він допомагає відкривати Internet Explorer і полегшує розробку сценаріїв макросів.

Підготовка макросу Excel перед виконанням стирання данихping використання 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 за допомогою 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.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. Позначте кнопку як оновити або будь-яку відповідну назву, яку можна ініціалізувати. У цьому прикладі кнопка ініціалізується як оновлення.

Отримайте інформацію з веб-сайту за допомогою VBA

Крок 5) Натисніть кнопку оновлення, щоб отримати наведений нижче результат

Отримайте інформацію з веб-сайту за допомогою VBA

Крок 6) Порівняйте результати в Excel з результатами Internet Explorer

Отримайте інформацію з веб-сайту за допомогою VBA

Резюме

  • Дані скрапping дозволяє користувачеві витягувати лише ту інформацію, яка йому потрібна. Щоб знайти найкращі інструменти для цієї мети, перегляньте цей список веб-скрапінгуping інструменти, які можуть допомогти вам ефективноtracпотрібну інформацію з різних вебсайтів.
  • Скрапping можна виконати за допомогою Internet Explorer.
  • Процес скрабуping повільніший у випадку Internet Explorer; проте він забезпечує бажані результати для користувача.
  • Подряпинаping слід виконувати з абсолютною обережністю та обережністю, оскільки це може пошкодити та призвести до збою системи, яка використовується для скрапінгу.ping.

Підсумуйте цей пост за допомогою: