Kvalitní roboti dokáží z webu vytěžit vše

Systém společnosti Kapow umožňuje snadnou extrakci dat z vlastních i cizích on-line zdrojů. Během posledních několi...


Systém společnosti Kapow umožňuje snadnou extrakci dat z vlastních i cizích
on-line zdrojů.
Během posledních několika let se řeč okolo specifikace Web 2.0 soustředila na
to, jak z webů extrahovat data a znovu je skládat dohromady v takové podobě,
jakou uživatel vyžaduje. Ačkoliv se většina pozornosti soustřeďuje na
JavaScript, používaný za účelem přidání inteligence do klientského prohlížeče,
méně nápadná skupina výrobců již dlouho pracuje na tom, aby zmíněnou schopnost
zabudovala do nějakého centrálního serveru.
Web Integration Platform verze 6.0 společnosti Kapow je jedním z nejlepších
příkladů řešení založených na centrálním serveru. Tato sada představuje velký
automatický screen scraper (tedy systém pro extrakci informací z webů), který
shromažďuje informace do jednoho portálu. Přitom agreguje data z mnoha různých
míst takovým způsobem, který uživateli zjednodušuje jejich vstřebávání.
Ačkoliv je možnost realizace této úlohy v klientovi pomocí JavaScriptu
vzrušující, centrální služba bude vždy mít své výhody. Řešení společnosti Kapow
nemusí být odladěno na široké paletě prohlížečů a může být také integrováno s
databázemi, takže lze bez problémů uchovávat i starší informace, a získat tím
velmi dobrý přehled o vývoji v čase.

Výsledky robota
Web Integration Platform by mohla být hitem u velkých firem využívajících
všechny možnosti IT, jež budují informační portály pro zaměstnance a klienty.
Setkali jsme se s mnoha případy, kdy projekty realizace portálu uvízly na
mělčině, protože jedna z divizí nebyla ochotná otevřít své databáze a systémy.
Jeden jednoduchý, snadno použitelný systém propojení by byl jistě úžasný,
znamenalo by to však přinutit všechny části organizace, aby tuto
centralizovanou vizi podporovaly. Řešení firmy Kapow se politickým problémům
vyhýbá tím, že nabízí systém robotů pro zachytávání kódu, kteří pracují na
principu nejmenšího společného jmenovatele: textu označkovaného pomocí HTML.
Tito roboti jsou experty na extrakci informací z interních i externích webových
stránek a obvykle nevyžadují příliš mnoho spolupráce ze strany zdroje.
Centrální server plánuje funkci robotů a agreguje jejich výsledky. Pokud někdo
navštíví stránku portálu, server spustí příslušné roboty, aby vystřihli správné
informace před tím, než je sbalí dohromady. Získané informace mohou být dočasně
uloženy v cache nebo na delší dobu uchovány v databázi.
Roboti vládnou sofistikovaným jazykem, který jim umožňuje porozumět HTML. Pokud
jste někdy prováděli screen scraping, pravděpodobně jste hovořili stylem:
"Hledám druhou řádku tabulky vložené uvnitř druhé řádky hlavní tabulky."
Interní nomenklatura systému Kapow se o to postará imitováním modelu JavaScript
DOM; v tomto případě je odpovědí: html.body. table.tr[2].td.table.tr[2].
Většina uživatelů se o tento jazyk nebude muset starat, neboť Kapow je schopen
pro rozbor webů nabídnout rozhraní sofistikované pracovní stanice. Poté, co
poskytnete URL, si sada Kapow web natáhne a zobrazí jej v sekci uživatelského
rozhraní RoboMaker. Pak můžete začít ze stránky vystřihovat data tím, že budete
ukazovat a klikat na části, které chcete. HTML a jazyk pro extrahování HTML se
objevuje v okně podél webové stránky.
Instrukce robotů se nacházejí ve vrchní části uživatelského rozhraní; jsou
vytvořeny pomocí docela tradičního vizuálního jazyka a můžete přidávat i smyčky
a větve. Výsledek vypadá jako standardní vývojový diagram, ačkoliv je k
dispozici mnoho speciálních funkcí vyladěných pro povahu HTML například jeden
cyklický příkaz extrahuje vše kromě horní řádky tabulky.

Zpracování výjimek
Hlavní novinkou Web Integration Platform 6.0 je její schopnost zpracovávat
události JavaScriptu. Když firma Kapow začínala vytvářet roboty, většina
webových stránek byla zcela statická a bez JavaScriptu, což specifikaci
umístění dat zjednodušovalo. Když ovšem začal být do webů včleňován i
JavaScript pro vyplňování formulářů a přepisování dat, začala se situace měnit.
Přidání schopnosti porozumět JavaScriptu server zachránilo, neboť mu dalo
možnost kódy JavaScriptu provádět. Roboti nyní extrahují data ze vzdálených
webů a sloupávají vrstvu JavaScriptu předtím, než informace předají uživateli
portálu. Kód JavaScriptu ale není ignorován je potichu simulován serverem
Kapow. Je to komplikovaný proces, avšak Kapow se bez této funkce neobejde,
pokud chce, aby se roboti dokázali vypořádat s novým světem Ajaxu (Asynchronous
JavaScript And XML).
Nové funkce nicméně stále nebudou bez problémů pracovat u těch nejdokonalejších
webů. Napsali jsme Ajax stránky, které kalkulují a přepisují tabulky poté, co
uživatel klikne na tlačítko; tento typ stránek není možné jednoduše prozkoumat
a vytáhnout z něj data.

Naše testy
Platformu Kapow jsme testovali tak, že jsme vytvořili několik robotů a nechali
jsme je sbírat informace. Vizuální nástroj pro tvorbu robotů je překvapivě
jednoduchý, avšak dostatečně mocný, aby zvládnul mnohé ze standardních
extrakčních úloh, které mu budou zadány.
Ačkoliv je platforma nominálně napsána v Javě (Kapow uzavřel partnerství se
společností BEA a distribuuje také .Net verzi), většina uživatelů bude schopná
vytvářet roboty bez jakýchkoliv znalostí tohoto jazyka. Máme podezření, že
někteří ze zkušených programátorů budou frustrováni ve chvíli, kdy budou chtít
udělat něco takového, jako tvořit liché znaky Unicode, avšak na druhé straně
průměrní uživatelé budou schopni vyvinout větší část portálu bez pomoci.
Kapow Web Integration Platform najde své největší uplatnění na dvou místech: ve
velkých firmách s mnoha staršími systémy a v centrech firemní inteligence.
Vývojáři, kteří mají na starost propojování starších systémů, budou oceňovat
fakt, že mohou získat data z obrazovky bez toho, aby systém museli
přeprogramovat. Nemusí být příliš elegantní nechat v cestě všechen starý kód,
ale mohlo by to být rychlé integrační řešení.
Také skupiny zodpovědné za produkování firemních ovládacích panelů a
shromažďování dat ocení širokou škálu schopností řešení Kapow pro site
scraping. Dovedeme si představit někoho z hotelového byznysu, jak takový systém
používá k tomu, aby si prohlédnul ceny za hotelové pokoje u konkurence.
Web Integration Platform verze 6.0 představuje propracovaný mechanismus pro
extrakci dat. Jestliže potřebujete shromažďovat výsledky z mnoha různých webů,
může představovat nejrychlejší způsob, jak tuto úlohu provést.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.