PROJEKTAS

Interneto duomenų scrap’inimo programinė įranga švariems, eksportui paruoštiems duomenims

Individualios programinės įrangos kūrimas, Interneto duomenų scrap’inimas, Duomenų išgavimas, Duomenų valymas, Dublikatų šalinimas, Duomenų patvirtinimas, Integracija su duomenų bazėmis, Eksporto automatizavimas

  • Sritis: Verslo paslaugos
  • Liuksemburgas Vieta: Liuksemburgas
  • Įgyvendinimo trukmė: 16 savaitės
  • Technologijos: Python, PHP
4+ mėnesiai

Šis klientas skiria daug laiko įrašams rinkti iš svetainių, duomenų bazių ir API, kol duomenys paruošiami analizei ar importui. Interneto duomenų scrap’inimo programinė įranga priima puslapius, galinius taškus ir failus. Ji išgauna pasirinktus laukus, tada juos išvalo ir patvirtina. Rezultatas - nuoseklūs duomenys, tinkami skaičiuoklėms, SQL duomenų bazėms ar programoms. Duomenų apdorojimo įmonei tai suteikia pakartojamą būdą paruošti iš skirtingų šaltinių gaunamus įrašus ir sumažinti rankinį darbą bei pakartotinį apdorojimą.

Santrauka

Problema

Klientas rankiniu būdu renka ir paruošia iš skirtingų šaltinių gaunamus įrašus.

Sprendimas

Sprendimas tapo pakartojamu interneto duomenų scrap’inimo ir duomenų valymo procesu, skirtu išgavimui, patvirtinimui ir eksportui.

Rezultatas

Programinė įranga sukurta siekiant sutrumpinti rankinio paruošimo laiką ir sumažinti klaidų skaičių prieš duomenims pasiekiant paskirties vietą.

Kliento istorija

Klientas - duomenų apdorojimo įmonė iš Liuksemburgo. Ji konsoliduoja įrašus iš svetainių, duomenų bazių ir API tolesniam naudojimui.

Rankinis rinkimas ir paruošimas užima daug laiko, nes šaltiniai turi skirtingas struktūras ir formatus. Dėl nenuoseklių laukų prieš eksportą ar importą taip pat tenka atlikti papildomą darbą.

Užduotis buvo paprasta: sukurti pakartojamus Python, komandinės eilutės, užrašinės ar programomis pagrįstus procesus. Jie turėjo išgauti, išvalyti ir patvirtinti duomenis prieš siunčiant juos į reikiamą paskirties vietą.

Sprendimas buvo suformuotas aplink šaltinių nustatymą, valymo ir patvirtinimo darbo sritį bei struktūrizuotą eksportą. Laukų, schemų ir paskirties vietų taisyklės liko matomos, kad kliento komanda galėtų dirbti pagal savo standartus.

Klientas paprašė

  1. Vykdyti pakartojamus Python, komandinės eilutės, užrašinės ar programomis pagrįstus procesus.
  2. Eksportuoti švarius rezultatus CSV, Excel, Parquet, JSON, Sheets, tekstiniu arba SQL formatu.
  3. Valyti, normalizuoti, transformuoti, pašalinti dublikatus, filtruoti, rūšiuoti ir konsoliduoti duomenis.
  4. Pateikti žurnalus, klaidų ataskaitas, dokumentaciją, nustatymo instrukcijas, kodą ir priklausomybes.

Kodėl netiko paruošta programinė įranga

Paruošti produktai apima atskiras užduoties dalis: interneto duomenų rinkimą, valdomą išgavimą, duomenų integraciją ar konfigūruojamas scrap’inimo taisykles. Apraše nurodytos atskiros šaltinių išgavimo, valymo ir patvirtinimo galimybės. Taip pat aprašyti paskirties vietų susiejimas ir ataskaitos. Todėl visam kliento procesui reikėjo individualaus derinio.

Projekto apžvalga

Sprendimas buvo sukurtas remiantis trimis etapais: šaltinių ir išgavimo nustatymu, valymu ir patvirtinimu bei struktūrizuotu eksportu. Taip kelias nuo šaltinio įrašo iki paskirties vietos išlieka aiškus.

Pirmajame ekrane svetainės, duomenų bazės ir API sujungiami vienoje konfigūracijoje. Taip pat priimami failai ir kiekvienam paleidimui apibrėžiami laukai bei paskirties struktūra.

Siekiant apdoroti skirtingų formatų šaltinius, išgavimui ir paruošimui buvo sukurti Python procesai. HTML analizė, prieiga prie duomenų bazių, skaičiuoklių nuskaitymas ir dokumentų konvertavimas palaiko nurodytus šaltinius.

Valymo darbo srityje rodomos neapdorotos ir išvalytos reikšmės, dublikatų grupės bei patvirtinimo rezultatai. Valymo ir dublikatų šalinimo taisyklės paruošia nuoseklią struktūrą.

Eksporto lange stulpeliai ir schemos susiejami su CSV, Excel arba duomenų bazių paskirties vietomis. Apdorojimo suvestinės ir paleidimų žurnalai leidžia matyti kiekvieno paleidimo būseną.

Buvo įtraukta dokumentacija, nustatymo instrukcijos ir išeities kodas. Priklausomybių informacija ir veiklos žurnalai padeda kliento komandai valdyti procesus bei pritaikyti juos savo duomenų taisyklėms.

Įdiegtos pagrindinės funkcijos

  • Interneto duomenų scrap’inimas iš pasirinktų puslapių ir laukų
  • Duomenų išgavimas iš duomenų bazių, API, failų ir dokumentų
  • Pakartojami Python ir programomis pagrįsti procesai
  • Valymas, normalizavimas ir transformavimas
  • Dublikatų aptikimas ir įrašų sujungimas
  • Schemos ir laukų patvirtinimas
  • Praleistų įrašų ir klaidų ataskaitos
  • CSV, Excel, Parquet, JSON, tekstinis, Sheets ir SQL eksportas

Galima pridėti

+ Puslapių numeravimo apdorojimas + Dinaminių puslapių ir JavaScript palaikymas + Užklausų dažnio ribojimo apdorojimas + CAPTCHA apdorojimas + Papildomos paskirties vietų jungtys + Apdorojimo dokumentacija ir nustatymo pagalba

Kas dar gali naudoti šį sprendimą

Įmonės, kurioms reikia panašiai paruošti duomenis, gali pritaikyti tą patį sprendimą savo šaltiniams, taisyklėms ir paskirties vietoms.

Tyrimų ir analitikos komanda

Užduotis Paruošia iš svetainių, API, failų ir duomenų bazių gaunamus įrašus analizei ir ataskaitoms.
Kaip padeda sprendimas Sprendimas išgauna pasirinktus laukus, juos patvirtina, pašalina dublikatus ir eksportuoja nuoseklų duomenų rinkinį.

Dokumentų apdorojimo įmonė

Užduotis Apdoroja PDF, ataskaitų, sąskaitų, formų ir nuskenuotų dokumentų paketus.
Kaip padeda sprendimas Sprendimas išgauna dokumentų duomenis, taiko valymo ir patvirtinimo taisykles bei registruoja praleistus ar nepavykusius elementus.

Duomenų operacijų komanda

Užduotis Importuoja išgautus įrašus į skaičiuokles, SQL duomenų bazes ar programas.
Kaip padeda sprendimas Sprendimas susieja išvalytus stulpelius su reikiama paskirties vieta ir saugo kiekvieno paleidimo apdorojimo suvestinę.

Technologijų rinkinys

Python

Išgavimo ir valymo procesai

Python vykdo pakartojamus procesus, kurie išgauna, išvalo, normalizuoja, patvirtina ir konsoliduoja įrašus.

PHP

Skaičiuoklių importas ir eksportas

PHP palaiko skaičiuoklių ir CSV apdorojimą, kai procese naudojami PHP pagrįsti įrankiai.

JavaScript / TypeScript (Node.js)

Interneto ir skaičiuoklių apdorojimas

Node.js palaiko HTML analizę, skaičiuoklių apdorojimą ir duomenų bazių jungtis programomis pagrįstuose procesuose.

SQLAlchemy

Duomenų bazių abstrakcija

SQLAlchemy (biblioteka, jungianti programas su duomenų bazėmis per bendrą sąsają) palaiko prieigą prie duomenų bazių ir paskirties vietų valdymą.

PyMySQL

Prieiga prie MySQL duomenų bazės

PyMySQL (Python tvarkyklė, skirta MySQL ir MariaDB) sujungia procesą su MySQL įrašais.

firecrawl-anydoc

Dokumentų konvertavimas

firecrawl-anydoc (biblioteka, konvertuojanti dokumentus ir skaičiuokles į Markdown) palaiko dokumentų turinio išgavimą.

openpyxl

XLSX nuskaitymas ir įrašymas

openpyxl (Python biblioteka Excel darbaknygėms) nuskaito ir įrašo XLSX failus.

cheerio

HTML analizė ir scrap’inimas

cheerio (HTML analizės ir redagavimo biblioteka) išgauna pasirinktą turinį iš interneto puslapių.

CSV, XLSX, JSON, Parquet

Struktūrizuoti failų išvesties formatai

Šie formatai perduoda išvalytus įrašus į failus, skaičiuokles, programas ir analizės įrankius.

Integracijos

PostgreSQL, MySQL, and SQLite

Procesas nuskaito duomenų bazės įrašus ir įrašo išvalytus duomenis į SQL paskirties vietas.

Google Sheets

Išvalyti įrašai susiejami su Google Sheets struktūromis.

Excel

Sistema nuskaito skaičiuoklių šaltinius ir eksportuoja susietus įrašus kaip Excel failus.

Websites and APIs

Scraper’is gauna puslapius ir API atsakymus, tada išgauna pasirinktus laukus.

Rezultatas

Šaltiniai ir laukai apibrėžiami vienoje vietoje

Šaltinio nustatymo ekranas suteikia duomenų apdorojimo įmonei aiškų atspirties tašką interneto duomenų scrap’inimui ir duomenų išgavimui. Čia kartu pateikiama informacija apie šaltinį, reikiamus laukus ir HTML selektorius.

Pakartojami paleidimai naudoja tas pačias išgavimo taisykles pasikartojančioms užduotims, o šaltinio tipas apima svetaines, duomenų bazes ir API.

Kaip tai veikia

  1. Šaltinio nustatymas nuskaito URL, galinius taškus, duomenų bazės informaciją, failų kelius, pasirinktus laukus ir tikslinius HTML elementus.
  2. Išgavimo procesas analizuoja šaltinio turinį ir paruošia reikiamus laukus.
  3. Sistema paleidimui pritaiko pasirinktą paskirties formatą arba duomenų bazės tikslą.
  • Svetainių laukus galima pasirinkti naudojant HTML elementų selektorius.
  • Duomenų bazėms, API ir failų šaltiniams naudojama atitinkama jungties arba kelio informacija.
Patarimas: Pirmą veikiančią versiją galima patikrinti naudojant tipinius kliento failus, o likusias taisykles sukonfigūruoti vėliau.
Šaltinių ir išgavimo nustatymas

Šaltinių ir išgavimo nustatymas

Šiame ekrane pateikiamos funkcijos
Svetainių duomenų scrap’inimas Tekstinių duomenų gavimas Duomenų išgavimas iš HTML

Valymo taisyklės užtikrina įrašų nuoseklumą

Valymo darbo srityje greta rodomos neapdorotos ir išvalytos reikšmės bei patvirtinimo būsena. Dublikatų grupės ir praleistų įrašų priežastys palengvina išimčių peržiūrą prieš eksportą.

Rezultatas - nuosekli struktūra, paruošta analizei, importui ar užklausoms, o ne neapdorotų šaltinio įrašų rinkinys.

Kaip tai veikia

  1. Valymo procesas normalizuoja, transformuoja, filtruoja, rūšiuoja ir konsoliduoja laukų reikšmes.
  2. Dublikatų šalinimo modulis aptinka dublikatų grupes ir paruošia sujungtus įrašus.
  3. Patvirtinimo modulis tikrina įrašus pagal schemas, šablonus, laukų sąrašus arba numatomus formatus.
  • Kiekvienam įrašui ar laukui rodoma patvirtinimo būsena.
  • Praleisti įrašai ir apdorojimo klaidos lieka matomi darbo srityje.
Valymo ir patvirtinimo darbo sritis

Valymo ir patvirtinimo darbo sritis

Šiame ekrane pateikiamos funkcijos
Duomenų išgavimas naudojant Python Dublikatų šalinimas Duomenų patvirtinimas realiuoju laiku Išgautų laukų patvirtinimas Praleistų įrašų registravimas

Švarūs įrašai pasiekia reikiamą paskirties vietą

Eksporto langas susieja išvalytus duomenis su klientui reikalinga paskirties struktūra. Stulpeliai susiejami su failais, skaičiuoklėmis arba duomenų bazėmis.

Apdorojimo suvestinė ir paleidimo žurnalas rodo eksportuotų, praleistų ir klaidingų įrašų skaičių.

Kaip tai veikia

  1. Eksporto modulis susieja išvalytus stulpelius su pasirinktu išvesties formatu arba paskirties schema.
  2. Sistema įrašo duomenis CSV, Excel, Parquet, JSON, paprastojo teksto, Google Sheets, SQL arba duomenų bazės įrašų formatu.
  3. Paleidimo žurnale įrašoma apdorojimo suvestinė, praleisti elementai ir klaidos.
  • SQL paskirties vietos apima PostgreSQL, MySQL ir SQLite įrašus.
  • Skaičiuoklių paskirties vietoms galima naudoti Excel arba Google Sheets struktūras.
Pastaba: Dokumentacija, nustatymo instrukcijos, išeities kodas ir priklausomybių informacija padeda kliento komandai toliau valdyti sistemą.
Struktūrizuotas eksportas ir paskirties vietos vaizdas

Struktūrizuotas eksportas ir paskirties vietos vaizdas

Šiame ekrane pateikiamos funkcijos
Išgautų duomenų tvarkymas Excel eksporto įrankis Duomenų saugojimas SQL duomenų bazėje Automatinis Excel duomenų bazės atnaujinimas Naujų įrašų įterpimas į MySQL

Ką suteikia sprendimas

Naudodama šį sprendimą, duomenų apdorojimo įmonė gali:

  • Vykdyti pakartojamus pasikartojančių šaltinių išgavimo procesus
  • Scrap’inti pasirinktus svetainių laukus ir išgauti įrašus iš failų, API bei duomenų bazių
  • Valyti, normalizuoti, transformuoti, konsoliduoti ir pašalinti įrašų dublikatus
  • Patvirtinti duomenis prieš jiems pasiekiant paskirties vietą
  • Eksportuoti nuoseklius įrašus į failus, skaičiuokles, SQL duomenų bazes ar programas
  • Peržiūrėti praleistus įrašus, klaidas ir apdorojimo suvestines

Ar paruoštos sistemos galėtų atlikti šį darbą?

Prieš kuriant sprendimą, užduotis buvo palyginta su paruoštais produktais pagal jų aprašymus.

Ko reikia klientui Duomenų išgavimo programinė įranga Data Extraction Interneto duomenų scrap’inimo platformos Oxylabs, Zyte, Scrapfly Duomenų integravimo platformos Dataddo, Improvado Individualus sprendimas
Vykdyti pakartojamus išgavimo procesus
Eksportuoti reikiamais duomenų formatais —
Valyti ir pašalinti šaltinio duomenų dublikatus — — —
Pateikti žurnalus, kodą ir dokumentaciją — — —
Atitikti kliento taisykles: etapus, vaidmenis, ataskaitas — — —
Visi etapai vienoje vietoje — — —
Jokių rankinių veiksmų tarp programų iš dalies iš dalies iš dalies

Pagal viešus produktų ir jų kategorijos aprašymus.

Paruošti produktai apima duomenų išgavimą, interneto duomenų rinkimą ir duomenų perkėlimą. Paruošto produkto pakanka, kai reikia tik vienos iš šių dalių.

Šiam klientui reikėjo, kad šaltiniai, valymo taisyklės, patvirtinimas, ataskaitos ir paskirties vietos veiktų kartu vienoje vietoje.

Produktų aprašymuose nebuvo pateiktas visas kliento taisyklių ir paruošimo nuo šaltinio iki paskirties vietos derinys.

Galiausiai

Galiausiai sprendimas buvo sukurtas siekiant sumažinti rankinį darbą tarp iš skirtingų šaltinių gaunamų įrašų ir švarių failų ar duomenų bazių.

DUK

Svarstote apie panašios sistemos kūrimą? Perskaitykite toliau pateiktus atsakymus ir sužinokite, kaip individualus išgavimo ir duomenų valymo procesas gali būti pritaikytas jūsų šaltiniams bei paskirties vietoms.