ПРОЕКТ

Программное обеспечение для скрапинга интернет-данных и подготовки чистых данных к экспорту

Разработка индивидуального ПО, Скрапинг интернет-данных, Извлечение данных, Очистка данных, Удаление дубликатов, Проверка данных, Интеграция с базами данных, Автоматизация экспорта

  • Сфера: Бизнес-услуги
  • Люксембург Местоположение: Люксембург
  • Срок реализации: 16 недель
  • Технологии: Python, PHP
4+ месяцев

Этот клиент тратит много времени на сбор записей с сайтов, из баз данных и API, прежде чем данные становятся готовыми для анализа или импорта. ПО для скрапинга интернет-данных принимает страницы, конечные точки и файлы, извлекает выбранные поля, а затем очищает и проверяет их. В результате получаются единообразные данные для электронных таблиц, SQL-баз или приложений. Для компании, занимающейся обработкой данных, это создает повторяемый способ подготовки записей из разных источников и сокращает ручную работу и повторную обработку.

Краткое содержание

Проблема

Клиент вручную собирает и подготавливает записи из разных источников.

Решение

Решение стало повторяемым процессом скрапинга и очистки данных для извлечения, проверки и экспорта.

Результат

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

История клиента

Клиент - компания по обработке данных из Люксембурга. Она объединяет записи с сайтов, из баз данных и API для дальнейшего использования.

Ручной сбор и подготовка занимают много времени, поскольку источники имеют разную структуру и форматы. Несогласованные поля также требуют дополнительной работы перед экспортом или импортом.

Задача была простой: создать повторяемые процессы на Python, в командной строке, блокнотах или приложениях. Они должны были извлекать, очищать и проверять данные перед отправкой в нужное место назначения.

Решение построено вокруг настройки источников, рабочей области очистки и проверки, а также структурированного экспорта. Правила полей, схем и мест назначения остались прозрачными, чтобы команда клиента могла работать по собственным стандартам.

Клиент запросил

  1. Запускать повторяемые процессы на Python, в командной строке, блокнотах или приложениях.
  2. Экспортировать очищенные результаты в CSV, Excel, Parquet, JSON, Sheets, текстовом или SQL-формате.
  3. Очищать, нормализовать, преобразовывать, удалять дубликаты, фильтровать, сортировать и объединять данные.
  4. Предоставить журналы, отчеты об ошибках, документацию, инструкции по настройке, код и зависимости.

Почему готовое ПО не подошло

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

Обзор проекта

Решение создано на основе трех этапов: настройки источников и извлечения, очистки и проверки, а также структурированного экспорта. Это сохраняет прозрачность пути от исходной записи до места назначения.

На первом экране сайты, базы данных и API объединяются в одной конфигурации. Также поддерживаются файлы, а для каждого запуска задаются поля и структура назначения.

Для обработки источников разных форматов были созданы процессы на Python. Анализ HTML, доступ к базам данных, чтение электронных таблиц и преобразование документов поддерживают заданные источники.

В рабочей области очистки отображаются исходные и очищенные значения, группы дубликатов и результаты проверки. Правила очистки и удаления дубликатов подготавливают единообразную структуру.

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

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

Реализованные ключевые функции

  • Скрапинг интернет-данных с выбранных страниц и полей
  • Извлечение данных из баз данных, API, файлов и документов
  • Повторяемые процессы на Python и в приложениях
  • Очистка, нормализация и преобразование
  • Обнаружение дубликатов и объединение записей
  • Проверка схем и полей
  • Отчеты о пропущенных записях и ошибках
  • Экспорт в CSV, Excel, Parquet, JSON, текстовый формат, Sheets и SQL

Можно добавить

+ Обработка пагинации + Поддержка динамических страниц и JavaScript + Обработка ограничений частоты запросов + Обработка CAPTCHA + Дополнительные подключения к местам назначения + Документация по обработке и помощь с настройкой

Кто еще может использовать это решение

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

Исследовательская и аналитическая команда

Задача Подготавливает записи с сайтов, из API, файлов и баз данных для анализа и отчетности.
Как помогает решение Решение извлекает выбранные поля, проверяет их, удаляет дубликаты и экспортирует единообразный набор данных.

Компания по обработке документов

Задача Обрабатывает пакеты PDF-файлов, отчетов, счетов, форм и отсканированных документов.
Как помогает решение Решение извлекает данные документов, применяет правила очистки и проверки, а также регистрирует пропущенные или не обработанные элементы.

Команда операций с данными

Задача Импортирует извлеченные записи в электронные таблицы, SQL-базы или приложения.
Как помогает решение Решение связывает очищенные столбцы с нужным местом назначения и сохраняет сводку обработки каждого запуска.

Технологический стек

Python

Процессы извлечения и очистки

Python выполняет повторяемые процессы, которые извлекают, очищают, нормализуют, проверяют и объединяют записи.

PHP

Импорт и экспорт электронных таблиц

PHP поддерживает обработку электронных таблиц и CSV, когда в процессе используются инструменты на PHP.

JavaScript / TypeScript (Node.js)

Обработка веб-данных и электронных таблиц

Node.js поддерживает анализ HTML, обработку электронных таблиц и подключения к базам данных в процессах на основе приложений.

SQLAlchemy

Абстракция баз данных

SQLAlchemy (библиотека, соединяющая приложения с базами данных через единый интерфейс) поддерживает доступ к базам данных и управление местами назначения.

PyMySQL

Доступ к базе данных MySQL

PyMySQL (драйвер Python для MySQL и MariaDB) соединяет процесс с записями MySQL.

firecrawl-anydoc

Преобразование документов

firecrawl-anydoc (библиотека, преобразующая документы и электронные таблицы в Markdown) поддерживает извлечение содержимого документов.

openpyxl

Чтение и запись XLSX

openpyxl (библиотека Python для книг Excel) читает и записывает файлы XLSX.

cheerio

Анализ HTML и скрапинг

cheerio (библиотека анализа и редактирования HTML) извлекает выбранное содержимое из веб-страниц.

CSV, XLSX, JSON, Parquet

Структурированные форматы вывода файлов

Эти форматы передают очищенные записи в файлы, электронные таблицы, приложения и инструменты анализа.

Интеграции

PostgreSQL, MySQL, and SQLite

Процесс считывает записи базы данных и записывает очищенные данные в SQL-места назначения.

Google Sheets

Очищенные записи связываются со структурами Google Sheets.

Excel

Система считывает источники электронных таблиц и экспортирует связанные записи как файлы Excel.

Websites and APIs

Скрапер получает страницы и ответы API, а затем извлекает выбранные поля.

Результат

Источники и поля задаются в одном месте

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

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

Как это работает

  1. Настройка источника считывает URL, конечные точки, данные базы, пути к файлам, выбранные поля и целевые HTML-элементы.
  2. Процесс извлечения анализирует содержимое источника и подготавливает нужные поля.
  3. Система применяет к запуску выбранный формат назначения или базу данных.
  • Поля сайтов можно выбирать с помощью селекторов HTML-элементов.
  • Для баз данных, API и файловых источников используются соответствующие данные подключения или пути.
Совет: Первую рабочую версию можно проверить на типичных файлах клиента, а остальные правила настроить позже.
Настройка источников и извлечения

Настройка источников и извлечения

На этом экране представлены функции
Скрапинг данных с сайтов Получение текстовых данных Извлечение данных из HTML

Правила очистки обеспечивают единообразие записей

В рабочей области очистки рядом отображаются исходные и очищенные значения и статус проверки. Группы дубликатов и причины пропущенных записей упрощают проверку исключений перед экспортом.

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

Как это работает

  1. Процесс очистки нормализует, преобразует, фильтрует, сортирует и объединяет значения полей.
  2. Модуль удаления дубликатов обнаруживает группы дубликатов и подготавливает объединенные записи.
  3. Модуль проверки проверяет записи по схемам, шаблонам, спискам полей или ожидаемым форматам.
  • Для каждой записи или поля отображается статус проверки.
  • Пропущенные записи и ошибки обработки остаются видимыми в рабочей области.
Рабочая область очистки и проверки

Рабочая область очистки и проверки

На этом экране представлены функции
Извлечение данных с помощью Python Удаление дубликатов Проверка данных в реальном времени Проверка извлеченных полей Регистрация пропущенных записей

Чистые записи попадают в нужное место назначения

Окно экспорта связывает очищенные данные со структурой назначения, необходимой клиенту. Столбцы связываются с файлами, электронными таблицами или базами данных.

Сводка обработки и журнал запуска показывают количество экспортированных, пропущенных и ошибочных записей.

Как это работает

  1. Модуль экспорта связывает очищенные столбцы с выбранным форматом вывода или схемой назначения.
  2. Система записывает данные в CSV, Excel, Parquet, JSON, обычный текст, Google Sheets, SQL или базу данных.
  3. Журнал запуска содержит сводку обработки, пропущенные элементы и ошибки.
  • SQL-места назначения включают записи PostgreSQL, MySQL и SQLite.
  • Для электронных таблиц можно использовать структуры Excel или Google Sheets.
Примечание: Документация, инструкции по настройке, исходный код и информация о зависимостях помогают команде клиента и дальше управлять системой.
Структурированный экспорт и представление мест назначения

Структурированный экспорт и представление мест назначения

На этом экране представлены функции
Обработка извлеченных данных Инструмент экспорта в Excel Хранение данных в SQL-базе Автоматическое обновление базы данных Excel Добавление новых записей в MySQL

Что дает решение

С помощью этого решения компания по обработке данных может:

  • Запускать повторяемые процессы извлечения из регулярных источников
  • Скрапить выбранные поля сайтов и извлекать записи из файлов, API и баз данных
  • Очищать, нормализовать, преобразовывать, объединять записи и удалять дубликаты
  • Проверять данные до их попадания в место назначения
  • Экспортировать единообразные записи в файлы, электронные таблицы, SQL-базы или приложения
  • Просматривать пропущенные записи, ошибки и сводки обработки

Смогли бы готовые системы выполнить эту работу?

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

Что нужно клиенту ПО для извлечения данных Data Extraction Платформы для скрапинга интернет-данных Oxylabs, Zyte, Scrapfly Платформы интеграции данных Dataddo, Improvado Индивидуальное решение
Запускать повторяемые процессы извлечения
Экспортировать в нужных форматах данных —
Очищать исходные данные и удалять дубликаты — — —
Предоставлять журналы, код и документацию — — —
Соответствовать правилам клиента: этапам, ролям, отчетам — — —
Все этапы в одном месте — — —
Без ручных действий между программами частично частично частично

На основе общедоступных описаний продуктов и их категорий.

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

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

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

В итоге

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

ЧАСТЫЕ ВОПРОСЫ

Рассматриваете создание похожей системы? Ознакомьтесь с ответами ниже и узнайте, как индивидуальный процесс извлечения и очистки данных можно адаптировать под ваши источники и места назначения.