Shrnutí
Výzkumná organizace tráví čas nahrazováním ručního nebo nahodilého sběru webových dat opakovatelnou extrakcí.
Řešením se stal konfigurovatelný scraper, který dodržuje pravidla stránek, zpracovává dynamický obsah a exportuje strukturované záznamy.
Software je navržen tak, aby omezil ruční sběr a nekonzistentní extrakci.
Příběh klienta
Klientem je výzkumná organizace z Německa. Pro výzkumné účely shromažďuje produktová, katalogová a kontaktní data z veřejných webů.
Ruční a nahodilý sběr tým stojí čas, zejména když cílové weby používají stránkování, měnící se struktury stránek a dynamické tabulky.
Požadavek byl jednoduchý: přijímat cílová URL nebo jejich vzory, konfigurovatelné selektory či konfigurační soubory a vracet vybraný obsah webů jako strukturované záznamy.
Řešení bylo postaveno na konfigurovatelných pravidlech polí, procházení více stránek a vykreslování v prohlížeči. Plánovaná spuštění a přehledné protokoly podpořily opakovatelný sběr.
Klient požadoval
- Přijímat URL, vzory URL, selektory, XPath nebo konfigurační soubory
- Extrahovat vybraný obsah do strukturovaných záznamů
- Následovat stránkování napříč stránkami a weby
- Zpracovávat stránky v JavaScriptu, dynamické tabulky a odložené načítání
Proč hotový software nevyhovoval
Hotový software pro extrakci dat pokrývá mnoho typů zdrojů, zatímco spravované scrapingové služby se zaměřují na API, infrastrukturu pro prohlížeče a proxy služby. Tento klient potřeboval pole, selektory a pravidla stránkování specifická pro projekt. Řešení muselo podporovat také lokální provoz, dokumentaci a definované požadavky na výstup.
Přehled projektu
Řešení bylo navrženo kolem konfigurační obrazovky scraperu, kde výzkumný tým definuje cílová URL, pole a selektory. K dispozici jsou také pravidla stránkování a formáty výstupu.
Pro zpracování různých struktur stránek používá scraper konfigurovatelná pravidla extrakce polí, viditelného textu a tabulek. Prochází propojené stránky a podle potřeby následuje stránkování.
Pro stránky v JavaScriptu, dynamické tabulky a obsah načítaný odloženě bylo zajištěno vykreslování v prohlížeči. Statické stránky lze místo toho zpracovat přímými HTTP požadavky a parsováním HTML.
Řešení bylo navrženo také pro opakovaný provoz. Spouští se z příkazového řádku nebo lokálního počítače, podporuje plánování a zaznamenává chyby i opakované pokusy.
Shromážděné záznamy lze exportovat do CSV, JSON nebo Excelu. PostgreSQL, odlehčený REST JSON endpoint a projektová dokumentace podporují další využití týmem klienta.
Dodané klíčové funkce
- Konfigurovatelná cílová URL a jejich vzory
- Editor selektorů polí a XPath
- Procházení více stránek a stránkování
- Vykreslování obsahu v JavaScriptu a odloženě načítaného obsahu
- Export do CSV, JSON a Excelu
- Limity rychlosti, prodlevy, opakované pokusy a nastavení user-agentu
- Historie spuštění a scrapingové protokoly
- Předávání dat do PostgreSQL nebo REST JSON