František Chvostaľ - firmy google API

    Table of contents
    No headers

    Téma: Vyhľadávanie informácií o firmách

    Implementácia v: Java + Google Api

    Popis: Zistenie pomocnej informácie (ičo) o firme na upresnenie vyhľadávania a následne využitie tejto informácie.

    Výsledok: Zoznam odkazov na webové stránky s vyhľadanou informáciou o zadanej firme.

     

     Špecifikácia problému

     

    Súčasné vyhľadávače sú ladené všeobecne, sú dobré na vyhľadávanie rôznych informácií, no v prípade vyhľadávania informácií z konkrétnej oblasti môže vyhľadanie informácie predsa len vyžadovať viacero krokov. V prípade vyhľadávania informácií o firmách je potrebné vedieť presný názov firmy a najlepšie je poznať nejaké upresňujúce údaje, aby boli informácie poskytnuté vyhľadávačom získané práve pre danú firmu a nie pre inú s podobným názvom.  Navyše, používateľ musí aj po upresnení vyhľadávania prechádzať každú nájdenú stránku osobitne a pracne prezerať jej obsah, kým sa dostane k informácii, ktorú potrebuje.

    Vytvorením systému na uľahčenie vyhľadávania a získavania informácií o slovenských firmách som sa rozhodol zrýchliť tento proces a šetriť čas pri zložitom prechádzaní vyhľadávačom poskytnutých stránok. Všetko čo potrebuje používateľ urobiť, je zadať časť alebo celý názov firmy a v okamihu má pred sebou zoznam stránok aj s vytiahnutými základnými informáciami, ktoré si môže na týchto stránkach v prípade potreby overiť.

     


    Popis implementácie

     

    Systém na uľahčenie vyhľadávania informácií o slovenských firmách je implementovaný v Jave s použitím JDK 1.6. Pri implementácii som využil HTML, api Swing, Regular Expressions, Desktop a knižnice na HTTP spojenie a získanie obsahu web stránok.

     Je to štandardná oknová aplikácia so Swing GUI (viď obr. 1)rozdeleným na 3 časti. Celkom hore sa nachádza vstupné textové pole na zadanie vyhľadávaného názvu firmy. Po submitnutí je zadaný reťazec použitý na získanie zoznamu všetkých slovenských firiem obsahujúcich v názve tento reťazec. Tieto informácie sú parsované z webu www.orsr.sk a vypísané ako zoznam firiem, pričom každej firme je priradená aj URL adresa na prístup k dodatočným informáciám o konkrétnej firme z www.orsr.sk. Používateľ má v tomto momente možnosť zvoliť si zo zoznamu jednu z existujúcich firiem, ktoré vyhovovali tomuto zadaniu hľadaného textového reťazca. Po zvolení konkrétnej firmy je vyžiadaný obsah stránky s informáciami o danej firme na webe obchodného registra, prebehne parsovanie IČO, jeho úprava do jednotného formátu bez nadbytočných medzier a presný názov firmy spolu s IČO je použitý na vyhľadanie zoznamu web stránok spolu s ich popisom cez vyhľadávač google. Zoznam prvých poskytnutých desiatich odkazov je vypísaný ako HTML v paneli  na pravej strane okna GUI. Súčasťou výpisu je aj URL odkaz, na ktorý je možné kliknúť pre otvorenie vyhľadanej web stránky v okne predvoleného webového prehliadača. V spodnom textovom paneli je súčasne zobrazený výpis základných informácií nájdených na týchto desiatich vyhľadaných URL adresách. Medzi tieto informácie patrí: číslo telefónu, adresa firmy, e-mail.

     

    vi_gui.jpg

    Obr. 1: Ukážka GUI pri vyhľadaní informácií o firme EKONÓM KREDIT, s.r.o.

     

     

    Popis spustenia

     

    Pre beh aplikácie je potrebné JRE verzie 1.6. Samotnú aplikáciu tvorí jediný jar súbor:

    CompanyGoogler.jar

     

    Spustenie prebieha kliknutím na tento súbor prípadne prostredníctvom príkazového riadku:

    java -jar CompanyGoogler.jar

    V prípade, že je potrebné nastaviť proxy, je možné spustiť súbor cez:

    CompanyGooglerWithProxy.bat

    V tomto súbore je samozrejme potrebné nastaviť vlastné proxy host a port. Spustenie s proxy cez príkazový riadok:

    java -Dhttp.proxyHost=<proxyHost> -Dhttp.proxyPort=<proxyPort> -jar CompanyGoogler.jar

     

    Problémy

     

    Pri riešení projektu bolo najväčším problémom googleApi, ktoré sa nedalo použiť, pretože google prestal poskytovať licenčné kľúče od roku 2006, to znamená, že som musel pristúpiť k parsovaniu HTML. Preto bolo potrebné nastaviť aplikáciu, aby sa pre http server identifikovala ako známy webový prehliadač, konkrétne v tomto prípade nastavením parametra User-Agent na hodnotu získanú z packet sniffera z komunikácie medzi browserom a serverom:

    Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

    Ďalším problémom bolo získavanie adresy firmy z vyhľadaných web stránok, z dôvodu “nekonečného” množstva spôsobov reprezentácie formátu adresy zakomponovaného do HTML kódu web stránky. Riešenie som navrhol cez regular expressions vypísaním reťazca z určitej množiny znakov v blízkosti slova adresa“ resp. „Adresa“ a odstránením prázdnych symbolov a HTML tagov, čo sa mi po testovaní rôznych spôsobov identifikácie reťazca s adresou zdalo byť ako najprijateľnejšie riešenie.

     

    Tag page (Edit tags)
    • No tags
    You must login to post a comment.
    Powered by MindTouch Core