PROJEKT

Oprogramowanie do web scrapingu zapewniające czyste dane gotowe do eksportu

Tworzenie dedykowanego oprogramowania, Web scraping, Ekstrakcja danych, Czyszczenie danych, Usuwanie duplikatów, Walidacja danych, Integracja z bazą danych, Automatyzacja eksportu

  • Branża: Usługi biznesowe
  • Luksemburg Lokalizacja: Luksemburg
  • Czas realizacji: 16 tygodnie
  • Technologie: Python, PHP
4+ miesięcy

Klient poświęca czas na zbieranie rekordów ze stron internetowych, baz danych i API, zanim dane będą gotowe do analizy lub importu. Oprogramowanie do web scrapingu przyjmuje strony, endpointy i pliki. Pobiera wybrane pola, a następnie je oczyszcza i waliduje. Zwraca spójne dane do arkuszy kalkulacyjnych, baz SQL lub aplikacji. Zapewnia firmie przetwarzającej dane powtarzalny sposób przygotowywania rekordów z różnych źródeł, ograniczając pracę ręczną i konieczność ponownego przetwarzania.

Podsumowanie

Problem

Klient ręcznie zbiera i przygotowuje rekordy z różnych źródeł, poświęcając na to dużo czasu.

Rozwiązanie

Rozwiązanie stało się powtarzalnym przepływem pracy do web scrapingu i czyszczenia danych, obejmującym ekstrakcję, walidację i eksport.

Rezultat

Oprogramowanie ma ograniczyć czas ręcznego przygotowania danych i liczbę błędów przed przekazaniem ich do miejsca docelowego.

Historia klienta

Klient to firma z Luksemburga zajmująca się przetwarzaniem danych. Konsoliduje rekordy ze stron internetowych, baz danych i API do dalszego wykorzystania.

Ręczne zbieranie i przygotowywanie danych zajmuje czas, ponieważ źródła mają różne struktury i formaty. Niespójne pola powodują również konieczność ponownej pracy przed eksportem lub importem.

Potrzeba była prosta: stworzyć powtarzalne przepływy pracy oparte na Pythonie, wierszu poleceń, notebookach lub aplikacji. Musiały one pobierać, oczyszczać i walidować dane przed wysłaniem ich do wymaganego miejsca docelowego.

Rozwiązanie oparto na konfiguracji źródeł, obszarze roboczym czyszczenia i walidacji oraz uporządkowanym eksporcie. Reguły dotyczące pól, schematów i miejsc docelowych pozostawiono widoczne, aby zespół klienta mógł pracować zgodnie z własnymi standardami.

Klient poprosił o

  1. Uruchamianie powtarzalnych przepływów pracy w Pythonie, wierszu poleceń, notebookach lub aplikacji.
  2. Eksport oczyszczonych wyników do CSV, Excel, Parquet, JSON, Sheets, plików tekstowych lub SQL.
  3. Czyszczenie, normalizację, transformację, usuwanie duplikatów, filtrowanie, sortowanie i konsolidację danych.
  4. Dostarczanie dzienników, raportów błędów, dokumentacji, instrukcji konfiguracji, kodu i zależności.

Dlaczego gotowe oprogramowanie nie pasowało

Gotowe produkty obsługują poszczególne części zadania: zbieranie danych z sieci, zarządzaną ekstrakcję, integrację danych lub konfigurowalne reguły scrapingu. Opis projektu obejmuje oddzielne możliwości ekstrakcji, czyszczenia i walidacji źródeł, a także mapowania miejsc docelowych i raportowania. Pełny przepływ pracy klienta wymagał więc własnego połączenia tych elementów.

Opis projektu

Rozwiązanie zaprojektowano w trzech etapach: konfiguracja źródeł i ekstrakcji, czyszczenie i walidacja oraz uporządkowany eksport. Dzięki temu droga od rekordu źródłowego do miejsca docelowego pozostaje przejrzysta.

Pierwszy ekran łączy strony internetowe, bazy danych i API w jednej konfiguracji. Obsługuje również pliki oraz definiuje pola i strukturę docelową dla każdego uruchomienia.

Aby obsłużyć różne formaty źródłowe, przygotowano przepływy pracy w Pythonie do ekstrakcji i przygotowania danych. Parsowanie HTML, dostęp do baz danych, odczyt arkuszy kalkulacyjnych i konwersja dokumentów obsługują określone źródła.

Obszar roboczy czyszczenia pokazuje wartości surowe i oczyszczone, grupy duplikatów oraz wyniki walidacji. Reguły czyszczenia i usuwania duplikatów przygotowują spójną strukturę.

Widok eksportu mapuje kolumny i schematy do plików CSV, Excel lub miejsc docelowych w bazach danych. Podsumowania przetwarzania i dzienniki uruchomień pokazują stan każdego procesu.

Dołączono dokumentację, instrukcje konfiguracji i kod źródłowy. Informacje o zależnościach i dzienniki operacyjne pomagają zespołowi klienta zarządzać przepływami pracy i dostosowywać je do własnych reguł danych.

Dostarczone kluczowe funkcje

  • Web scraping wybranych stron i pól
  • Ekstrakcja z baz danych, API, plików i dokumentów
  • Powtarzalne przepływy pracy w Pythonie i aplikacji
  • Czyszczenie, normalizacja i transformacja
  • Wykrywanie duplikatów i łączenie rekordów
  • Walidacja schematów i pól
  • Raportowanie pominiętych rekordów i błędów
  • Eksport do CSV, Excel, Parquet, JSON, plików tekstowych, Sheets i SQL

Można dodać

+ Obsługę paginacji + Obsługę stron dynamicznych i JavaScript + Obsługę limitów zapytań + Obsługę CAPTCHA + Dodatkowe konektory miejsc docelowych + Dokumentację przetwarzania i wsparcie konfiguracji

Kto jeszcze może korzystać z tego rozwiązania

Firmy realizujące podobne zadania związane z przygotowaniem danych mogą dostosować to samo rozwiązanie do swoich źródeł, reguł i miejsc docelowych.

Zespół badawczy i analityczny

Zadanie Przygotowuje rekordy z różnych źródeł, takich jak strony internetowe, API, pliki i bazy danych, do analizy i raportowania.
Jak pomaga rozwiązanie Rozwiązanie pobiera wybrane pola, waliduje je, usuwa duplikaty i eksportuje spójny zbiór danych.

Firma przetwarzająca dokumenty

Zadanie Przetwarza partie plików PDF, raportów, faktur, formularzy i zeskanowanych dokumentów.
Jak pomaga rozwiązanie Rozwiązanie pobiera dane z dokumentów, stosuje reguły czyszczenia i walidacji oraz zapisuje pominięte lub nieudane elementy.

Zespół operacji danych

Zadanie Importuje wyodrębnione rekordy do arkuszy kalkulacyjnych, baz SQL lub aplikacji.
Jak pomaga rozwiązanie Rozwiązanie mapuje oczyszczone kolumny do wymaganego miejsca docelowego i przechowuje podsumowanie przetwarzania dla każdego uruchomienia.

Stos technologiczny

Python

Przepływy pracy ekstrakcji i czyszczenia

Python uruchamia powtarzalne przepływy pracy, które pobierają, czyszczą, normalizują, walidują i konsolidują rekordy.

PHP

Import i eksport arkuszy kalkulacyjnych

PHP obsługuje przetwarzanie arkuszy kalkulacyjnych i CSV tam, gdzie przepływ pracy korzysta z narzędzi opartych na PHP.

JavaScript / TypeScript (Node.js)

Przetwarzanie stron internetowych i arkuszy kalkulacyjnych

Node.js obsługuje parsowanie HTML, pracę z arkuszami kalkulacyjnymi i połączenia z bazami danych w przepływach opartych na aplikacjach.

SQLAlchemy

Abstrakcja baz danych

SQLAlchemy (biblioteka łącząca aplikacje z bazami danych za pomocą wspólnego interfejsu) obsługuje dostęp do baz danych i zarządzanie miejscami docelowymi.

PyMySQL

Dostęp do bazy MySQL

PyMySQL (sterownik Pythona dla MySQL i MariaDB) łączy przepływ pracy z rekordami MySQL.

firecrawl-anydoc

Konwersja dokumentów

firecrawl-anydoc (biblioteka konwertująca dokumenty i arkusze kalkulacyjne do Markdown) obsługuje ekstrakcję treści dokumentów.

openpyxl

Odczyt i zapis XLSX

openpyxl (biblioteka Pythona do skoroszytów Excel) odczytuje i zapisuje pliki XLSX.

cheerio

Parsowanie i scraping HTML

cheerio (biblioteka do parsowania i modyfikowania HTML) pobiera wybraną zawartość ze stron internetowych.

CSV, XLSX, JSON, Parquet

Uporządkowane pliki wynikowe

Formaty te przenoszą oczyszczone rekordy do plików, arkuszy kalkulacyjnych, aplikacji i narzędzi analitycznych.

Integracje

PostgreSQL, MySQL, and SQLite

Przepływ pracy odczytuje rekordy z baz danych i zapisuje oczyszczone dane w miejscach docelowych SQL.

Google Sheets

Oczyszczone rekordy są mapowane do struktur Google Sheets.

Excel

System odczytuje źródła arkuszowe i eksportuje zmapowane rekordy jako pliki Excel.

Websites and APIs

Scraper otrzymuje strony i odpowiedzi API, a następnie pobiera wybrane pola.

Rezultat

Źródła i pola są zdefiniowane w jednym miejscu

Ekran konfiguracji źródeł zapewnia firmie przetwarzającej dane przejrzysty punkt wyjścia do web scrapingu i ekstrakcji danych. Łączy szczegóły źródeł, wymagane pola i selektory HTML.

Powtarzalne uruchomienia wykorzystują te same reguły ekstrakcji dla cyklicznych zadań, a typ źródła obejmuje strony internetowe, bazy danych i API.

Jak to działa

  1. Konfiguracja źródła odczytuje adresy URL, endpointy, dane baz danych, ścieżki plików, wybrane pola i docelowe elementy HTML.
  2. Przepływ ekstrakcji parsuje zawartość źródła i przygotowuje wymagane pola.
  3. System stosuje do uruchomienia wybrany format docelowy lub bazę danych.
  • Pola stron internetowych można wybierać za pomocą selektorów elementów HTML.
  • Źródła baz danych, API i plików wykorzystują odpowiednie dane połączenia lub ścieżki.
Wskazówka: Pierwszą działającą wersję można sprawdzić na typowych plikach klienta, zanim zostaną dostrojone pozostałe reguły.
Konfiguracja źródeł i ekstrakcji

Konfiguracja źródeł i ekstrakcji

Funkcje na tym ekranie
Scrapowanie danych ze strony internetowej Pobieranie danych tekstowych Ekstrakcja danych z HTML

Reguły czyszczenia zapewniają spójność rekordów

Obszar roboczy czyszczenia pokazuje wartości surowe i oczyszczone obok statusu walidacji. Grupy duplikatów i przyczyny pominięcia rekordów ułatwiają przegląd wyjątków przed eksportem.

Rezultatem jest spójna struktura przygotowana do analizy, importu lub wykonywania zapytań, a nie zbiór nieprzetworzonych rekordów źródłowych.

Jak to działa

  1. Przepływ czyszczenia normalizuje, przekształca, filtruje, sortuje i konsoliduje wartości pól.
  2. Moduł usuwania duplikatów identyfikuje grupy duplikatów i przygotowuje połączone rekordy.
  3. Moduł walidacji sprawdza rekordy względem schematów, szablonów, list pól lub oczekiwanych formatów.
  • Status walidacji jest wyświetlany dla każdego rekordu lub pola.
  • Pominięte rekordy i błędy przetwarzania pozostają widoczne w obszarze roboczym.
Obszar roboczy czyszczenia i walidacji

Obszar roboczy czyszczenia i walidacji

Funkcje na tym ekranie
Ekstrakcja danych za pomocą Pythona Usuwanie duplikatów danych Walidacja danych w czasie rzeczywistym Walidacja wyodrębnionych pól Rejestrowanie pominiętych rekordów

Oczyszczone rekordy trafiają do wymaganego miejsca docelowego

Widok eksportu łączy oczyszczone dane ze strukturą docelową wymaganą przez klienta. Mapuje kolumny do plików, arkuszy kalkulacyjnych lub baz danych.

Podsumowanie przetwarzania i dziennik uruchomienia pokazują liczbę przetworzonych, pominiętych i błędnych rekordów eksportu.

Jak to działa

  1. Moduł eksportu mapuje oczyszczone kolumny do wybranego formatu wyjściowego lub schematu miejsca docelowego.
  2. System zapisuje rekordy jako CSV, Excel, Parquet, JSON, zwykły tekst, Google Sheets, SQL lub rekordy bazy danych.
  3. Dziennik uruchomienia zapisuje podsumowanie przetwarzania, pominięte elementy i błędy.
  • Miejsca docelowe SQL obejmują rekordy PostgreSQL, MySQL i SQLite.
  • Miejsca docelowe arkuszy mogą korzystać ze struktur Excel lub Google Sheets.
Uwaga: Dokumentacja, instrukcje konfiguracji, kod źródłowy i informacje o zależnościach wspierają bieżące zarządzanie systemem przez zespół klienta.
Uporządkowany eksport i widok miejsca docelowego

Uporządkowany eksport i widok miejsca docelowego

Funkcje na tym ekranie
Porządkowanie wyodrębnionych danych Narzędzie eksportu do Excel Przechowywanie danych w bazie SQL Automatyczna aktualizacja bazy Excel Dodawanie nowych rekordów do MySQL

Co zapewnia rozwiązanie

Dzięki temu rozwiązaniu firma przetwarzająca dane może:

  • Uruchamiać powtarzalne przepływy ekstrakcji dla cyklicznych źródeł
  • Scrapować wybrane pola stron internetowych i pobierać rekordy z plików, API oraz baz danych
  • Czyścić, normalizować, przekształcać, konsolidować i usuwać duplikaty rekordów
  • Walidować dane przed przekazaniem ich do miejsca docelowego
  • Eksportować spójne rekordy do plików, arkuszy, baz SQL lub aplikacji
  • Przeglądać pominięte rekordy, błędy i podsumowania przetwarzania

Czy gotowe systemy mogłyby wykonać to zadanie?

Przed zaprojektowaniem rozwiązania porównano zadanie z gotowymi produktami na podstawie ich własnych opisów.

Czego potrzebuje klient Oprogramowanie do ekstrakcji danych Data Extraction Platformy do web scrapingu Oxylabs, Zyte, Scrapfly Platformy integracji danych Dataddo, Improvado Dedykowane rozwiązanie
Uruchamianie powtarzalnych przepływów ekstrakcji
Eksport w wymaganych formatach danych —
Czyszczenie i usuwanie duplikatów danych źródłowych — — —
Dostarczanie dzienników, kodu i dokumentacji — — —
Dopasowanie do własnych reguł klienta: etapów, ról i raportów — — —
Wszystkie kroki w jednym miejscu — — —
Brak ręcznych kroków między programami częściowo częściowo częściowo

Na podstawie publicznych opisów produktów i ich kategorii.

Gotowe produkty obsługują ekstrakcję danych, zbieranie danych z sieci i przesyłanie danych. Gotowy produkt wystarcza, gdy potrzebna jest tylko jedna z tych funkcji.

W przypadku tego klienta wymagane źródła, reguły czyszczenia, walidacja, raporty i miejsca docelowe musiały współdziałać w jednym miejscu.

Opisy produktów nie obejmowały pełnego połączenia własnych reguł klienta i przygotowania danych od źródła do miejsca docelowego.

Podsumowując

Ostatecznie rozwiązanie stworzono, aby ograniczyć pracę ręczną między rekordami z różnych źródeł a oczyszczonymi plikami lub bazami danych.

FAQ

Myślisz o stworzeniu podobnego systemu? Przeczytaj poniższe odpowiedzi, aby zobaczyć, jak dedykowany przepływ ekstrakcji i czyszczenia danych może dopasować się do Twoich źródeł i miejsc docelowych.