ПРОЕКТ

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

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

  • Отрасль: Бизнес-услуги
  • Люксембург Местоположение: Люксембург
  • Срок разработки: 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 Индивидуальное решение
Запускать повторяемые рабочие процессы извлечения
Экспортировать данные в нужных форматах —
Очищать исходные данные и удалять дубликаты — — —
Обеспечить журналы, код и документацию — — —
Соответствовать собственным правилам клиента: этапам, ролям и отчетам — — —
Все шаги в одном месте — — —
Без ручных действий между программами частично частично частично

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

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

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

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

В заключение

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

ЧАВО

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