Веб-парсинг VBA | Как удалять сайты с помощью Excel VBA?

Веб-парсинг Excel VBA

VBA Web Scraping - это метод доступа к веб-страницам и загрузки данных с этого веб-сайта в наши компьютерные файлы. Очистка веб-страниц возможна путем доступа к внешним приложениям, таким как Internet Explorer. Мы можем сделать это двумя способами: раннее связывание и позднее связывание.

Веб-парсинг с VBA означает, что когда мы используем VBA для извлечения данных из других источников в Интернете, это может потребовать входа в систему для источников данных, но сначала, чтобы сделать это, нам нужно включить ссылки из раздела инструментов в редактор VBA для библиотеки Microsoft HTML для доступа в Интернет из VBA.

Не многие из нас знают, что с помощью Excel мы можем получать доступ к веб-страницам и получать данные с этих веб-страниц. Да, вы не ослышались. мы можем просматривать веб-страницы, получать доступ к приложениям для просмотра и многое другое. В этой статье мы подробно покажем вам, как написать код Excel VBA для парсинга веб-страниц.

Обычно мы открываем веб-страницы, копируем данные и вставляем их в наши файлы, такие как excel, word или некоторые другие файлы. Но в этой статье мы покажем вам, как получать доступ к веб-сайтам из Excel и делать много других вещей.

Как удалить данные веб-сайта с помощью VBA?

Вы можете скачать этот шаблон Excel для веб-скрапинга на VBA здесь - Шаблон для веб-скрапинга на VBA в Excel

Когда мы хотим получить доступ к любым другим приложениям из Excel, мы можем сделать это способами, например, «Раннее связывание» и «Позднее связывание». На начальном этапе всегда безопасно использовать технику «Раннего связывания».

Для доступа к сайту нам потребуются приложения для просмотра, например, « Internet Explorer ». Поскольку это внешний объект, нам нужно сначала установить ссылку.

Следуйте приведенным ниже инструкциям для веб-записки.

Шаг 1. Определите переменную VBA и назначьте тип данных « Internet Explorer ».

Код:

 Sub Web_Scraping () Dim Internet_Explorer As internet End Sub 

Как вы можете видеть выше, когда мы пытаемся установить ссылку на Internet Explorer, мы не видим «Internet Explorer», потому что «Internet Explorer» является внешним объектом, поэтому нам нужно установить ссылку.

Шаг 2: Чтобы установить ссылку, перейдите в « Инструменты » и выберите « Ссылки ».

В окне ниже прокрутите вниз и выберите « Microsoft Internet Controls ».

Шаг 3: Установите флажок «Microsoft Internet Controls» и нажмите «ОК». Теперь мы должны увидеть это имя объекта в списке IntelliSense.

Код:

 Sub Web_Scraping () Dim Internet_Explorer As inter End Sub 

Шаг 4: Выберите «InternetExplorer».

Код:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer End Sub 

Шаг 5: Далее нам нужно установить ссылку для включения Internet Explorer. Поскольку это объектная переменная, нам нужно использовать ключевое слово « Set » для установки ссылок.

Код:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Установить Internet_Explorer = New InternetExplorer End Sub 

Шаг 6: Теперь, используя переменную Internet_Explorer, мы можем использовать свойства и методы Internet Explorer.

Введите имя переменной и поставьте точку, чтобы увидеть список IntelliSense.

Код:

Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Установите Internet_Explorer = New InternetExplorer Internet_Explorer. Конец подписки

Шаг 7: Теперь, чтобы просмотреть приложение Internet Explorer, нам нужно выбрать свойство « Visible » и установить статус « True ».

Код:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True End Sub 

Теперь запустите код, и вы должны увидеть, что на вашем компьютере открывается Internet Explorer .

Шаг 8: Поскольку веб-адрес не указан, мы видим только пустую страницу. Чтобы передать веб-адрес интернет-проводнику, нам нужен метод « Навигация ».

Код:

 Sub Web_Scraping () Dim Internet_Explorer As InternetExplorer Установить Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

Шаг 9: Как вы можете видеть выше, метод «Навигация» спрашивает, по какому URL-адресу перейти в Internet Explorer. Теперь мне нужно открыть веб-сайт Wallstreetnmojo, и я могу указать URL-адрес следующим образом. «//Www.wallstreetmojo.com/»

Код:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") End Sub 

Now run the code, we should see the mentioned web address page in internet explorer.

Here we have a problem that once the web page is opened our code needs to wait until the page web page fully opened.

Step 10: We need to use the “Do While” loop in VBA to actually wait for our code to go any further until the mentioned page is fully loaded.

So, add below the “Do While” loop to force the macro to wait until the mentioned web page comes to the “Ready State Complete” mode.

Code:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop End Sub 

Step 11: Now let’s try to get information about the website in a single line. To get the information about the mentioned web address information we need to use the “Location Name” property.

Code:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub 

Run the code and in the message box, we would get the information about the website.

Step 12: Now at the bottom, we can also print website addresses as well.

Code:

 Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState  READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName & vbNewLine & vbNewLine & Internet_Explorer.LocationURL End Sub 

Now this will tell about the website description and also shows the website address as well.

Things to Remember here

  • Web scraping is possible by accessing external applications like Internet Explorer.
  • We can do it in two ways i.e. Early Binding & Late Binding. With Early Binding, we can get to see the IntelliSense list but with late binding, we cannot get to see the IntelliSense list at all.