110 likes | 219 Views
FrameWork: Wrapper Suite. Michal Šimún. tp05@ googlegroups. com. Z ákladná architektúra. Program obaľovača. Obaľovač opísaný ako XML súbor Identifikácia akcií Prechodov medzi akciami – hierarchia akcií Premenné obaľovača Vytvorenie inštancie WrapperProgram
E N D
FrameWork: Wrapper Suite Michal Šimún tp05@googlegroups.com
Program obaľovača • Obaľovač opísaný ako XML súbor • Identifikácia akcií • Prechodov medzi akciami – hierarchia akcií • Premenné obaľovača • Vytvorenie inštancie WrapperProgram • Wrapper pracuje s aktuálnym Kontextom - obsahuje mapu DOM dokumentov, rozšírenie o cookies
Program obaľovača • Štartovacia akcia • Výstupný DOM • Zoznam zapisovačov • Možnosť krokovania • http Client – knižnice Jakarta • html Parser – knižnica NekoHtml • loadWrapper – parser programu Wrappera
Interpreter • Vykonanie programu parsera • Vytvorenie inštancie wrappera • Priradenie zapisovačov (OutputWriter) • Nastavenie krokovača • Spustenie Wrappera (metóda start)
Lokátor uzlov a premenné • Lokátor uzlov, určuje podstrom, s ktorým sa bude v danom kontexte pracovať • InDocument – kde sa hľadá • XPathExp • RegExp – filtrovanie nájdený uzlov • Premenné – parametrizovaný reťazec (regulárne výrazy); Product = “processor” Uri = “http://www.products.sk/q=${Product}”
Definované akcie • Spustenie pomocou metódy execute • LoadPage – uri, asDocumnet v kontexte • FollowLink - <a> tagFinder + LoadPage • WriteObject – objectName v kontexte => zapisoveče • ExtractData – exktrakcia dát z dokumentu na základe TagFinder, možná filtrácia RegExp, definovanie outPut do variable, objekt v kontexte dokumentu – OutputObjectPath = zjednoseny XPath
Akcie • DoAllBranches – vykoná svojich následníkov • DoWhileNextLink – definuje sa lokátor next linky • ForEachTag – extrahuje podstrom dokumentu a uloží do kontextu ako nový dokument
Spracovanie chýb • Princíp výnimiek • Handlere výnimiek: • StopThrowErrorHandler • ReturnBackErrorHandler • IgnoreContinueErrorHandler • ExecuteCommandErrorHandler
Návrh rozšírenia • Tvorba rozhrania, učenia (vzory, filtre, komunikačný kanál) • Vytvorenie XML => tvorba obaľovača – podpora stromu akcií ??? • Zmena akcií ExtractData, WriteObject, rozšírenie akcii o prácu so vzormi • Súčasťou akcií bude aj lokálny kontext zdedený po predkovi