Как выполнять скрейпинг с помощью Excel?

Автор:

Реакция

Комментарий

Excel позволяет извлекать данные с веб-страниц без установки каких-либо внешних инструментов. Power Query — это самый простой способ: достаточно нескольких кликов, чтобы извлечение таблицы HTML и импортировать его прямо в лист. Для более сложных страниц VBA берет на себя управление и дает тебе больше контроля.

Вот как осуществлять веб-парсинг в обоих случаях.

Интерфейс Excel, демонстрирующий извлечение данных из Интернета с помощью Power Query
Экспорт данных с веб-сайта в Excel осуществляется за несколько шагов. ©Christina для Alucare.fr

Как с помощью Power Query скопировать данные с веб-страницы в Excel?

Power Query — это инструмент, встроенный в Microsoft Excel (также называемый Веб-запрос (в некоторых версиях), который служит для импорта, преобразования и анализа веб-данных из различных источников. В частности, ты можешь:

  • Восстановление веб-данные с веб-сайта, из файла или из базы данных.
  • Очистить или преобразовать эти данные перед их анализом.
  • Загрузить данные автоматически в таблицу, чтобы твоя команда могла работать с актуальной информацией.

Это самый просто чтобы экспортировать данные с веб-сайтов в Excel, не написав ни одной строчки кода. Вот четыре шага, которые нужно выполнить.

Шаг 1: Перейдите к инструменту импорта

В Microsoft Excel, перейди в’вкладка «Данные», а затем нажми на Получение данных и, наконец, на Из Интернета.

Откройте новый лист Excel, перейдите в меню «Данные», затем выберите «Получить данные», а после — «Из Интернета».
Откройте новый лист в Excel, перейдите в меню “Данные”, затем “Получить данные”, а после — “Из Интернета”. ©Christina для Alucare.fr

Шаг 2: Вставьте URL-адрес веб-страницы

Вставь’URL веб-сайта или страницы, содержащей информацию, которую ты хочешь извлечь, а затем нажми «Подтвердить».

Вставьте URL-адрес сайта или целевой страницы в Power Query.
Вставьте адрес сайта или целевой страницы. ©Christina для Alucare.fr

Шаг 3: Навигация в «Браузере»

Откроется окно, в котором отобразятся обнаруженные таблицы. Power Query автоматически определяет таблицы, присутствующие в коде страницы. Выбери интересующую тебя таблицу, например, HTML-таблица, чтобы получить чистый набор данных.

Выберите таблицу или обнаруженные данные в «Навигаторе» Power Query.
Выберите таблицу или данные. ©Christina для Alucare.fr

Шаг 4: Загрузка данных в таблицу Excel

Нажмите на Загрузить чтобы импортировать данные прямо в твою таблицу. В результате ты быстро получишь аккуратную таблицу, готовую к анализу.

Нажмите «Загрузить», чтобы импортировать данные из Интернета в таблицу Excel.
Загрузить для импорта данных. ©Christina для Alucare.fr

Чтобы получить последнюю информацию с сайта, нажми правый клик в твоей таблице, а затем нажми на Обновить. Таким образом, вы обеспечиваете актуальность данных практически в режиме реального времени.

Что нужно знать, прежде чем приступить к делу

Power Query работает только со статическими HTML-страницами. Если таблица не отображается в браузере, это часто связано с тем, что страница загружает своё содержимое в JavaScript : сайты на React, Angular, или данные, которые отображаются после прокрутки.

В этом случае у тебя есть два варианта. Ты можешь напрямую нацелиться на’API который сайт вызывает в фоновом режиме и который часто можно увидеть в инструментах разработчика браузера. В противном случае перейди к методу VBA или с помощью специального инструмента, такого как Octoparse.

Как выполнять скрапинг с помощью VBA и макросов Excel?

VBA (Visual Basic for Applications) — это язык программирования, встроенный в Microsoft Excel и другим программам Microsoft Office. С его помощью ты можешь:

  • Автоматизация повторяющихся задач в Excel.
  • Создать макросы, небольшие программы, которые запускаются прямо из твоего файла.
  • Открыть веб-страницу, извлечь текст или таблицы, а затем автоматически вставить их в Excel.

Это более технический вопрос, чем Power Query, но ты получаешь расширенный контроль : переход между несколькими страницами, управление сессией с аутентификацией, сбор данных, которые Power Query не распознает.

Вот пример макроса, который извлекает HTML-таблицу со страницы:

Sub ScraperTableau()

 ' Объявление объектов
    Dim http As Object, html As Object
    Dim tableau As Object, ligne As Object, cellule As Object
    Dim i As Long, j As Long

 ' URL-адрес страницы для скрапинга
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
 
 ' Создание объекта HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

 ' Загрузка HTML-содержимого
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' Выбор первой найденной таблицы
    Set tableau = html.getElementsByTagName("table")(0)

 ' Цикл по строкам и столбцам
    For i = 0 To tableau.Rows.Length - 1
        For j = 0 To tableau.Rows(i).Cells.Length - 1
 Cells(i + 1, j + 1).Value = tableau.Rows(i).Cells(j).innerText
 Next j
    Next i

End Sub

Пояснение кода:

  • Dim http As Object, html As Object : создает объекты для обработки веб-запроса и HTML-контента.
  • url = "..." : URL-адрес веб-сайта, с которого необходимо собрать данные.
  • http.Open "GET", url, False : отправляет HTTP-запрос для загрузки страницы.
  • html.body.innerHTML = http.responseText : вставляет HTML-ответ в объект, с которым можно работать.
  • Set tableau = html.getElementsByTagName("table")(0) : нацелено на первая таблица страницы.
  • Двойная петля For i … For j … : считывает каждую ячейку массива и вставляет её в соответствующую ячейку Excel.

Обратите внимание на одно важное ограничение. Этот код отправляет простой HTTP-запрос через MSXML2.XMLHTTP и извлекает только статический HTML-код, возвращаемый сервером. Он не может выполнить JavaScript одной страницы. На современном сайте, где данные загружаются динамически, ты получишь пустой результат. В таких случаях необходимо управлять реальным браузером, например, с помощью Selenium а также Python.

Когда следует использовать VBA для скрапинга:

  • На страницы, требующие авторизации (логин и пароль).
  • Когда тебе нужно извлечь несколько массивов на одной странице или переходить между несколькими страницами.
  • За автоматизировать ежедневный сбор данных с помощью кнопки или запрограммированного триггера.

Power Query или VBA: какой метод выбрать для скрапирования в Excel?

Выбор между Power Query а также VBA зависит от твоих потребностей и сложности целевого сайта. Вот краткое сравнение, которое поможет тебе определиться.

Критерии Power Query VBA
Простота использования Очень просто, код отсутствует Сложный, требует кода
Гибкость Ограничено данные табличные Высокая гибкость, полный контроль
Кривая обучения Слабый Высокий
Тип страницы Страницы HTML только статические HTTP-запросы, страницы с аутентификацией
Примеры использования Добыча быстро таблиц Передовая автоматизация, специфические требования

На практике, Power Query остаётся лучшим выбором для начинающих и для выполнения большинства повседневных задач: достаточно четырёх шагов, чтобы импортировать данные из Интернета в Microsoft Excel, не написав ни одной строчки кода.

Выбери VBA только когда у тебя есть конкретная потребность, которая Power Query не охватывает: сложные страницы, аутентификацию, расширенную автоматизацию. Что касается всего остального, Power Query поможет вам сэкономить время.

Какие есть альтернативы Excel для веб-парсинга?

Excel по-прежнему удобен, но при работе с большими объёмами данных из Интернета он быстро показывает свои ограничения. Для более масштабных проектов на смену ему приходят другие инструменты. Некоторые из них работают без кода, а для других потребуется немного программирования. Ты также найдёшь бесплатные инструменты в зависимости от твоих потребностей.

Инструменты «no-code» и «low-code»

Эти инструменты позволяют сбор веб-данных не написав ни одной строчки кода. Ты настраиваешь цель через графический интерфейс, а затем экспортируешь результат в формат CSV чтобы открыть его прямо в Excel. Это полезно для мониторинг рынка или отслеживание различных интернет-источников.

  • Bright Data : профессиональное и мощное решение, разработанное с учетом масштабных потребностей компании.
  • Octoparse a веб-скрейпер без программирования с простым интерфейсом, идеально подходящий для начинающих, с возможностью экспорта в Excel всего за несколько кликов.

Интерфейс Bright Data — инфраструктура сбора веб-данных для ИИ и бизнес-аналитики
Bright Data — это неограниченная инфраструктура веб-данных для искусственного интеллекта и бизнес-аналитики. ©Christina для Alucare.fr

Языки программирования

Такой язык, как Python позволяет вам скрапировать веб-сайты с высокой степенью гибкости. Вы можете просматривать несколько страниц автоматически, управлять сайтами с аутентификацией и обеспечивать сбор данных, который невозможно осуществить с помощью Power Query. Это особенно полезно для компании, которая отслеживает своих конкурентов или анализирует свои дистрибьюторские сети.

Если речь идет о сложном проекте, обратите внимание на Веб-скреппинг с помощью Python и BeautifulSoup. Это наиболее эффективный метод, когда сбор данных становится регулярным или масштабным.

Вот краткий обзор решений, которые превосходят Excel по мощности, гибкости и простоте использования.

Инструмент / Язык Расходы Сложность Мощный
Excel (Power Query) Зависит от пакета Office Легкий Базовый
Excel (VBA) Бесплатно (с лицензией) Office) Иметь в виду Иметь в виду
Bright Data Месячная подписка Иметь в виду Очень высокая
Octoparse Месячная подписка Легкий Иметь в виду
Python (BeautifulSoup, Scrapy) Свободно Высокий Очень высокая

Какие инструменты и ресурсы могут помочь в скрапинге с помощью Excel?

Чтобы пойти дальше, чем Power Query и VBA, ты можешь интегрировать Excel с сторонние инструменты. Эти скрейперы экспортируют данные в CSV, формат, который Excel открывает напрямую. Таким образом, вы получаете чистый набор данных, готовый к анализу, не написав ни одной строки кода.

Вот два полезных варианта в зависимости от твоих потребностей:

  • А расширение для веб-скреппинга для твоего браузера, например Web Scraper на Chrome Где Firefox. Это идеальный вариант для извлечения данных с веб-сайта всего за несколько кликов, без необходимости установки громоздкого ПО.
  • в Веб-скраппинг с помощью Python. Этот метод требует написания небольшого количества кода, но он поддерживает сложные страницы что Power Query не обнаруживает.

Конкретно, выбери’расширение для разовой и срочной потребности. Перейти к Python как только тебе понадобится автоматизировать регулярный сбор данных или обработать большой объем информации.

Законен ли веб-скрепинг?

в веб-парсинг является законным при определенных условиях. Все зависит от условий использования сайта, прав интеллектуальной собственности и того, как ты используешь собранные данные.

На практике публичные данные как правило, можно восстановить. Однако, как только ты начинаешь вмешиваться в персональные данные (имя, адрес электронной почты, профиль), ты вводишь данные в поле RGPD, даже если эта информация находится в открытом доступе в Интернете.

Прежде чем заниматься скрейпингом сайта, проверь две простые вещи:

  • Файл robots.txt сайта, в котором указано, какие страницы роботам разрешено сканировать, а какие — нет.
  • Les условия использования, в которых порой прямо запрещается автоматический сбор данных.

Чтобы сохранить спокойствие, ограничьтесь неличные данные и придерживайтесь темпа работы сайта, чтобы не перегружать его.

👍Ваше мнение
Статья информативна
Статья объективна
Статья отвечает на мой вопрос
Содержание актуально
🔍 Нашли ошибки? Скажите нам, где!

Понравилось? Поделитесь!

Это содержание изначально На французском (См. редактор чуть ниже). Он был переведен и вычитан на разных языках с помощью Deepl и/или Google Translate API, чтобы предложить помощь как можно большему числу стран. Этот перевод обходится нам в несколько тысяч евро в месяц. Если он не является 100 % идеальным, оставьте нам комментарий, чтобы мы могли его исправить. Если вы заинтересованы в вычитке и улучшении качества переведенных статей, пожалуйста, напишите нам, используя контактную форму!
Мы ценим ваши отзывы, чтобы улучшить наш контент. Если вы хотите предложить улучшения, пожалуйста, воспользуйтесь нашей контактной формой или оставьте комментарий ниже. Ваши комментарии всегда помогают нам улучшать качество нашего сайта Alucare.fr


Alucare является независимым СМИ. Поддержите нас, добавив в избранное Google News:

Опубликовать комментарий на дискуссионном форуме