Знаете ли вы, что можно получить данные с веб-сайта с помощью Google Таблиц? Вот как вы можете это сделать.
Веб-скрапинг — это мощный метод извлечения информации с веб-сайтов и ее автоматического анализа. Хотя вы можете сделать это вручную, это может оказаться утомительной и трудоемкой задачей. Инструменты парсинга веб-страниц делают этот процесс быстрее и эффективнее, при этом обходясь дешевле.
Интересно, что Google Таблицы могут стать вашим универсальным инструментом для сбора веб-страниц благодаря функции IMPORTXML. С помощью IMPORTXML вы можете легко собирать данные с веб-страниц и использовать их для анализа, составления отчетов или любых других задач, связанных с данными.
Функция IMPORTXML в Google Таблицах
Google Sheets предоставляет встроенную функцию IMPORTXML, которая позволяет импортировать данные из веб-форматов, таких как XML, HTML, RSS и CSV. Эта функция может изменить правила игры, если вы хотите собирать данные с веб-сайтов, не прибегая к сложному программированию.
Вот основной синтаксис IMPORTXML:
=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 из элементов веб-сайта. Вот как:
- Перейдите на веб-страницу, которую хотите очистить, используя предпочитаемый вами веб-браузер.
- Найдите элемент, который хотите очистить.
- Щелкните правой кнопкой мыши по элементу.
- Выбирать Осмотреть элемент из контекстного меню. Ваш браузер откроет панель, на которой будет отображен HTML-код веб-страницы. Соответствующий элемент HTML будет выделен в коде.
- На панели «Проверка элемента» щелкните правой кнопкой мыши выделенный элемент в HTML-коде.
- Нажмите Копировать 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 и получить ценную информацию из веб-ресурсов. Итак, начните парсинг и поднимите свой веб-анализ на новый уровень!