Сегодня я хочу поделиться с вами подробностями об инновационном инструменте для работы с данными — «Frog Parser», адрес проекта: Этот инструмент представляет собой мощный парсер, призванный сделать процесс извлечения данных с веб-сайтов максимально удобным, понятным и эффективным. Я попытался отойти от сложных парадигм программирования, сделав этот инструмент доступным для пользователей с базовыми компьютерными знаниями, сохранив при этом гибкость и мощность, необходимые для выполнения сложных задач скретчинга.
«Frog Parser» основан на проектном подходе, использует иерархическую структуру команд и учитывает естественное поведение пользователя при просмотре веб-страниц. В этой статье я хочу рассказать вам об основных возможностях этого продукта, языке его команд, типах представления рабочих документов, а также о преимуществах использования «Frog Parser» в ваших проектах. Давайте углубимся в детали!»
-
Анализ рассматривается как комплекс различных команд, объединенных в иерархические группы по смыслу или рабочему процессу.
-
С точки зрения конечного пользователя процесс парсинга представлен в виде документа под названием «Документ рабочего процесса Frog Parser».
-
Применяется проектный подход: документы группируются в проекты.
-
Язык описания процесса синтаксического анализа, «Frog Parser Command Language», можно сравнить с языком ассемблера — это набор команд с параметрами.
-
Документ «Frog Parser Workflow» может иметь различное представление: табличное, схематическое, текстовое.
-
«Рабочий процесс Frog Parser» должен быть представлен в виде удобочитаемого текстового файла для удобного хранения в системе контроля версий и ручного редактирования.
-
Командный язык Frog Parser должен быть простым и понятным для пользователя с базовыми компьютерными знаниями, при этом обеспечивать достаточную гибкость для выполнения задач, но не быть перегруженным сложными парадигмами программирования, распространенными среди профессиональных разработчиков.
-
В результате процесса анализа данных веб-сайта создается «набор данных», который можно экспортировать из внутреннего представления в распространенные форматы, такие как CSV или MS Excel.
-
Взаимодействие с веб-страницей следует общепринятым практикам в индустрии веб-разработки. Например, поиск элементов на странице возможен разными способами: по идентификатору, имени HTML-тега, имени атрибута HTML-элемента, классу CSS, селектору CSS.
-
Навигация по веб-странице имитирует поведение реального пользователя: нажатие кнопок, ввод данных в поля и т. д.
-
Для работы с «Frog Parser» конечному пользователю не нужно устанавливать какое-либо дополнительное программное обеспечение — достаточно иметь доступ в Интернет и последнюю версию веб-браузера (Google Chrome, MS Edge).
-
Задачи сканирования выполняются в пакетном режиме, а пользовательский интерфейс позволяет отслеживать статус их выполнения.
-
Программный продукт Frog Parser доступен по подписке. В случае неактивной подписки продукт работает в демо-режиме, добавляя на выходе «Водяные знаки».
![Список рабочих процессов Список рабочих процессов](https://habrastorage.org/getpro/habr/upload_files/8d6/320/f6a/8d6320f6a375765617029c9043a3d7df.jpg)
![Измените рабочий процесс в виде таблицы, пример примера 1 Измените рабочий процесс в виде таблицы, пример примера 1](https://habrastorage.org/getpro/habr/upload_files/d43/330/752/d4333075293c6013a35edc8d2c94c173.jpg)
![Измените рабочий процесс в виде таблицы, пример примера 2 Измените рабочий процесс в виде таблицы, пример примера 2](https://habrastorage.org/getpro/habr/upload_files/3a3/b44/465/3a3b444653c8e914f755d96d0638d1c1.jpg)
![Измените рабочий процесс в виде таблицы, пример примера 3 Измените рабочий процесс в виде таблицы, пример примера 3](https://habrastorage.org/getpro/habr/upload_files/ddd/fc2/ad1/dddfc2ad1ef7fc708aa9bd92e3ceff23.jpg)
![Изменить рабочий процесс в формате JSON Изменить рабочий процесс в формате JSON](https://habrastorage.org/getpro/habr/upload_files/70f/d3f/69a/70fd3f69a1e2d01710ea968bef0992a6.jpg)
![Сведения о выполнении рабочего процесса Сведения о выполнении рабочего процесса](https://habrastorage.org/getpro/habr/upload_files/191/e71/2f5/191e712f5c4f6b35e24a96c9533b800c.jpg)
![Выходной набор данных Выходной набор данных](https://habrastorage.org/getpro/habr/upload_files/096/576/f39/096576f399d172ad62585ab0e1e829ea.jpg)
![Данные экспортированы в MS Excel Данные экспортированы в MS Excel](https://habrastorage.org/getpro/habr/upload_files/53b/c7c/f08/53bc7cf08dac6681ec4f599fe358daa6.jpg)
Пример «Документ рабочего процесса Frog Parser». В данном случае анализируется сайт, созданный с помощью Shopify Ecommerce CMS: https://district-theme-demo.myshopify.com/collections/clothing
{ "version": "1.0.0.0", "acceptLanguage": "", "commands": [ { "@type": "SetConstantValueToVariableCommand", "enabled": true, "name": "set-implicitly-wait-variable-value", "description": "", "retryCount": 1, "variableType": "Long", "variable": { "name": "implicitly-wait" }, "value": { "@type": "VariableValueLong", "value": 3000 } }, { "@type": "SetImplicitlyWaitCommand", "enabled": true, "name": "set-implicitly-wait", "description": "", "retryCount": 1, "variable": { "name": "implicitly-wait" } }, { "@type": "CreateDatasetCommand", "enabled": true, "name": "create-dataset", "description": "", "retryCount": 1, "variable": { "name": "dataset" }, "metadata": { "columns": [ { "name": "page-number", "type": "Integer" }, { "name": "product-title", "type": "String" }, { "name": "product-price", "type": "String" } ] } }, { "@type": "SetConstantValueToVariableCommand", "enabled": true, "name": "Set constant value to start-page variable", "description": "", "retryCount": 1, "variableType": "Url", "variable": { "name": "start-page" }, "value": { "@type": "VariableValueUrl", "value": " } }, { "@type": "OpenWebPageCommand", "enabled": true, "name": "Open start-web-page", "description": "", "retryCount": 1, "variable": { "name": "start-page" } }, { "@type": "SetConstantValueToVariableCommand", "enabled": true, "name": "set-handle-current-page-to-true", "description": "", "retryCount": 1, "variableType": "Boolean", "variable": { "name": "handle-current-page" }, "value": { "@type": "VariableValueBoolean", "value": true } }, { "@type": "SetConstantValueToVariableCommand", "enabled": true, "name": "set-page-number", "description": "", "retryCount": 1, "variableType": "Integer", "variable": { "name": "page-number" }, "value": { "@type": "VariableValueInteger", "value": 0 } }, { "@type": "WhileLoopCommand", "enabled": true, "name": "do-while-handle-current-page", "description": "", "retryCount": 1, "variable": { "name": "handle-current-page" }, "commands": [ { "@type": "IncrementVariableCommand", "enabled": true, "name": "increment-page-number", "description": "", "retryCount": 1, "variable": { "name": "page-number" } }, { "@type": "FindElementsCommand", "enabled": true, "name": "find-product-card-elements", "description": "", "retryCount": 1, "findBy": { "@type": "FindByTagName", "value": "product-card" }, "variable": { "name": "product-card-elements" } }, { "@type": "ForAllLoopCommand", "enabled": true, "name": "for-all-product-cards", "description": "", "retryCount": 1, "variable": { "name": "product-card-elements" }, "itemVariable": { "name": "product-card-element" }, "commands": [ { "@type": "FindChildElementCommand", "enabled": true, "name": "find-product-card-title-element", "description": "", "retryCount": 1, "findBy": { "@type": "FindByClassName", "value": "product-card__title" }, "variable": { "name": "product-card-title-element" }, "parentElementVariable": { "name": "product-card-element" } }, { "@type": "ReadPropertyCommand", "enabled": true, "name": "read-product-card-title-element", "description": "", "retryCount": 1, "variable": { "name": "product-card-title-element" }, "property": { "@type": "ElementPropertyText" }, "newVariable": { "name": "product-card-title-text" } }, { "@type": "FindChildElementCommand", "enabled": true, "name": "find-product-card-price-element", "description": "", "retryCount": 1, "findBy": { "@type": "FindByCssSelector", "value": ".price" }, "variable": { "name": "product-card-price-element" }, "parentElementVariable": { "name": "product-card-element" } }, { "@type": "ReadPropertyCommand", "enabled": true, "name": "read-product-card-price-element", "description": "", "retryCount": 1, "variable": { "name": "product-card-price-element" }, "property": { "@type": "ElementPropertyText" }, "newVariable": { "name": "product-card-price-text" } }, { "@type": "CreateDatasetRowCommand", "enabled": true, "name": "create-dataset-row", "description": "", "retryCount": 1, "variable": { "name": "dataset" }, "columns": [ { "name": "page-number", "columnVariable": { "name": "page-number" } }, { "name": "product-title", "columnVariable": { "name": "product-card-title-text" } }, { "name": "product-price", "columnVariable": { "name": "product-card-price-text" } } ] }, { "@type": "SaveVariableCommand", "enabled": true, "name": "save-dataset", "description": "", "retryCount": 1, "variable": { "name": "dataset" } } ] }, { "@type": "CheckElementExistsCommand", "enabled": true, "name": "check-next-page-link-exists", "description": "", "retryCount": 1, "findBy": { "@type": "FindByCssSelector", "value": "a[aria-label=\"Next page\"]" }, "variable": { "name": "handle-current-page" } }, { "@type": "IfThenCommand", "enabled": true, "name": "if-next-page-link-exists", "description": "", "retryCount": 1, "ifVariable": { "name": "handle-current-page" }, "thenCommands": [ { "@type": "FindElementCommand", "enabled": true, "name": "find-next-page-link-element", "description": "", "retryCount": 1, "findBy": { "@type": "FindByCssSelector", "value": "a[aria-label=\"Next page\"]" }, "variable": { "name": "next-page-link-element" } }, { "@type": "ClickCommand", "enabled": true, "name": "click-by-next-page-link", "description": "", "retryCount": 1, "variable": { "name": "next-page-link-element" }, "clickIfInvisible": true } ] } ] } ] }
Подводя итог, следует отметить, что «Frog Parser» — это уникальный инструмент, призванный облегчить и упростить процесс анализа данных с веб-сайтов. Он сочетает в себе простоту использования для пользователей с базовыми знаниями компьютера и возможность выполнять сложные задачи очистки.
С помощью «Frog Parser» вы можете упростить и ускорить процесс извлечения данных, используя его интуитивно понятный язык команд, различные представления рабочих документов и возможность экспорта данных в часто используемые форматы. При этом инструмент не требует установки дополнительного ПО и доступен по подписке, что обеспечивает максимальную гибкость использования.
В целом «Frog Parser» предлагает универсальное и гибкое решение для работы с данными, сочетающее лучшие практики веб-разработки и навигации по страницам, имитирующее поведение реального пользователя. Я надеюсь, что этот программный продукт поможет вам повысить эффективность и качество управления вашими данными.
Страница проекта в Facebook: https://www.facebook.com/frogparser
Телеграмма: https://t.me/frog_parser_com
Искренне,
Роман