Знаете ли вы, что можно получить данные с веб-сайта с помощью Google Таблиц? Вот как вы можете это сделать.

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

Интересно, что Google Таблицы могут стать вашим универсальным инструментом для сбора веб-страниц благодаря функции IMPORTXML. С помощью IMPORTXML вы можете легко собирать данные с веб-страниц и использовать их для анализа, составления отчетов или любых других задач, связанных с данными.

Функция IMPORTXML в Google Таблицах

Google Sheets предоставляет встроенную функцию IMPORTXML, которая позволяет импортировать данные из веб-форматов, таких как XML, HTML, RSS и CSV. Эта функция может изменить правила игры, если вы хотите собирать данные с веб-сайтов, не прибегая к сложному программированию.

Вот основной синтаксис IMPORTXML:

instagram viewer
=IMPORTXML(url, xpath_query)
  • URL: URL-адрес веб-страницы, с которой вы хотите извлечь данные.
  • xpath_query: запрос XPath, определяющий данные, которые вы хотите извлечь.

XPath (язык XML Path) — это язык, используемый для навигации по документам XML, включая HTML, позволяющий указывать расположение данных в структуре HTML. Понимание запросов XPath необходимо для правильного использования IMPORTXML.

Понимание XPath

XPath предоставляет различные функции и выражения для навигации и фильтрации данных в документе HTML. Подробное руководство по XML и XPath выходит за рамки этой статьи, поэтому мы остановимся на некоторых основных концепциях XPath:

  • Выбор элемента: Вы можете выбирать элементы, используя / и // для обозначения путей. Например, /html/body/div выбирает все элементы div в теле документа.
  • Выбор атрибута: Чтобы выбрать атрибуты, вы можете использовать @. Например, //@href выбирает все href атрибуты на странице.
  • Фильтры предикатов: фильтровать элементы можно с помощью предикатов, заключенных в квадратные скобки ([ ]). Например, /div[@class="container"] выбирает все div элементы с классом контейнер.
  • Функции: XPath предоставляет различные функции, такие как содержит(), начинается с(), и текст() для выполнения определенных действий, таких как проверка текстового содержимого или значений атрибутов.

Как извлечь XPath с веб-сайта

На данный момент вы знаете синтаксис IMPORTXML, вы знаете URL-адрес веб-сайта и знаете, какой элемент вы хотите извлечь. Но как получить XPath элемента?

Вам не обязательно знать структуру веб-сайта наизусть, чтобы извлечь его данные с помощью IMPORTXML. Фактически, в каждом браузере есть отличный инструмент, который позволяет мгновенно скопировать XPath любого элемента.

Инструмент «Проверить элемент» позволяет извлекать XPath из элементов веб-сайта. Вот как:

  1. Перейдите на веб-страницу, которую хотите очистить, используя предпочитаемый вами веб-браузер.
  2. Найдите элемент, который хотите очистить.
  3. Щелкните правой кнопкой мыши по элементу.
  4. Выбирать Осмотреть элемент из контекстного меню. Ваш браузер откроет панель, на которой будет отображен HTML-код веб-страницы. Соответствующий элемент HTML будет выделен в коде.
  5. На панели «Проверка элемента» щелкните правой кнопкой мыши выделенный элемент в HTML-коде.
  6. Нажмите Копировать XPath чтобы скопировать XPath-адрес элемента в буфер обмена.

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

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

IMPORTXML позволяет быстро собирать ссылки в Google Sheets, а затем анализировать их с помощью различных функций, предлагаемых Google Sheets.

Чтобы очистить все ссылки с веб-страницы, вы можете использовать следующую формулу:

=IMPORTXML(url, "//a/@href") 

Этот запрос XPath выбирает все href атрибуты а элементы, эффективно извлекая все ссылки на странице.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")

Формула выше очищает все ссылки в статье Википедии.

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

2. Очистка всех текстов ссылок

Чтобы извлечь текст ссылок вместе с их URL-адресами, вы можете использовать:

=IMPORTXML(url, "//a") 

Этот запрос выбирает все элементы, и вы можете извлечь текст ссылки и URL-адреса из результатов.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")

Приведенная выше формула получает тексты ссылок в той же статье Википедии.

Иногда вам может потребоваться парсинг определенных ссылок на основе критериев. Например, вас может заинтересовать извлечение ссылок, содержащих определенное ключевое слово, или ссылок, расположенных в определенном разделе страницы.

При правильном знании XPath вы сможете точно определить любой элемент, который ищете.

Чтобы очистить ссылки, содержащие определенное ключевое слово, вы можете использовать функцию contains() XPath:

=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href") 

Этот запрос выбирает атрибуты href элементов, где href содержит указанное ключевое слово.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")

Приведенная выше формула очищает все ссылки, содержащие запись слова в тексте, в образце статьи Википедии.

Чтобы извлечь ссылки из определенного раздела страницы, вы можете указать XPath этого раздела. Например:

=IMPORTXML(url, "//div[@class='section']//a/@href") 

Этот запрос выбирает атрибуты href элементов внутри элементов div с классом «section».

Аналогично, формула ниже выбирает все ссылки в классе div, имеющие класс mw-content-container:

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")

Стоит отметить, что вы можете использовать IMPORTXML не только для парсинга веб-страниц. Вы можете использовать семейство функций IMPORT для импортировать таблицы данных с веб-сайтов в Google Sheets.

Хотя Google Таблицы и Excel используют большинство своих функций, семейство функций ИМПОРТ уникально для Google Таблиц. Вам нужно будет рассмотреть другие методы, чтобы импортировать данные с веб-сайтов в Excel.

Упростите парсинг веб-страниц с помощью Google Sheets

Парсинг веб-страниц с помощью Google Таблиц и функции IMPORTXML — это универсальный и доступный способ сбора данных с веб-сайтов.

Освоив XPath и поняв, как создавать эффективные запросы, вы сможете раскрыть весь потенциал IMPORTXML и получить ценную информацию из веб-ресурсов. Итак, начните парсинг и поднимите свой веб-анализ на новый уровень!