1 PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Intranetový vyhledávač 2010 Ladislav Vyskočil2 Anotace V této bakal...
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY
BAKALÁŘSKÁ PRÁCE
Intranetový vyhledávač
2010
Ladislav Vyskočil
Anotace V této bakalářské práci je zpracován soubor aplikací Intranetového vyhledávače, skládající se z aplikace WebRobot pro platformu Microsoft .NET Framework 3.5, Databáze pro Microsoft SQL Server 2008 a aplikace WWW serveru v prostředí ASP.
Děkuji Ing. Jiřímu Hronkovi za odborné rady a vedení při zpracování této bakalářské práce.
Vytvoření jednoduchého Intranetového vyhledávače, který umožňuje v databázi navštívených webových stránek najít ty, které obsahují požadované informace. Uživatel zadává do WWW rozhraní vyhledávače klíčová slova, která charakterizují hledanou informaci, a vyhledávač na základě své databáze vypisuje seznam odkazů na stránky, které hledaný text obsahují. Intranetový vyhledávač bude obsahovat: Vyhledávací robot, databázi vyhledávače a WWW aplikaci realizující hledání v databázi vyhledávače. Intranetový vyhledávač by měl být koncipován tak, aby dokázal indexovat obsah v rozsahu do 100 000 webových stránek. Vyhledávací robot bude zpracovávat pouze webové stránky a musí umět získat z načtené webové stránky její textový obsah, odkazy a e-mailové adresy. Zabezpečené stránky, vyžadující přihlašovací heslo, nebudou načítány. Uživatelské rozhraní WWW aplikace vyhledávače, by mělo být intuitivní, zachovávající principy známých vyhledávačů, se kterými umí běžní uživatelé pracovat. Vyhledávání musí být umožněno v textu obsahu stránek, v titulku a nadpisu stránek, v adrese URL stránek a v e-mailových adresách. Při nalezení stránky, vyhledávačem, bude mít uživatel možnost zobrazení podrobných informací o stránce, tak jak ji vyhledávací robot načetl a uložil do databáze. Dále má možnost zobrazit odkazy vedoucí na tuto stránku a také zobrazit odkazy nalezené na této stránce. Při vyhledávání e-mailových adres bude u nalezených adres možnost zobrazit www stránky, na kterých byl konkrétní e-mail nalezen. Použitá technologie pro vývoj bude pouze na produktech Microsoft. Zadání této práce bylo specifikováno pro potřeby Policie České republiky, Krajského ředitelství policie Jihomoravského kraje (dále jen „KŘP JmKÿ).
1.2.
Zpracování projektu
Vyhledávací robot V jazyce Microsoft Visual C# – Visual Studio 2008. Databáze vyhledávače V Microsoft SQL Server 2008. WWW aplikace realizující hledání v databázi vyhledávače Ve skriptovací platformě ASP pro Microsoft IIS.
6
1.3.
Cíle a použití projektu
Důvodem vytvoření Internetového vyhledávače je nemožnost použití známých vyhledávačů v intranetech velkých organizací, které nejsou, nebo nemohou být propojeny do sítě internet. Intranetový vyhledávač je především určen pro intranety s rozsahem do 100 000 webových stránek, ale lze jej samozřejmě v omezené míře použít i na internetu, například pro vyhledávání v několika oborově stejně zaměřených WWW serverech, diskusích a podobně. Toto omezení je dáno použitou technologií. Celý projekt vyhledávače je, dle zadání, navržen pro platformu Microsoft Windows a lze jej provozovat na počítači s operačním systémem Microsoft Windows XP SP3 a vyšší. Každou ze tří součástí vyhledávače - vyhledávací robot, databáze vyhledávače a ASP aplikaci webového rozhraní, realizující hledání - lze provozovat samostatně na různých počítačích, nutná je pouze dostupnost SQL databáze vyhledávače z těchto počítačů. I když jsou volně k dispozici i jiné vyhledávače pod licencí GNU GPL, jsou ale převážně určeny pro operační systém Linux, nebo nejsou příliš vhodné k použití pro potřeby zadání. Implementace Internetového vyhledávače je prvotně navržena a realizována pro Intranet Policie ČR, kde se předpokládá indexování přibližně 100 000 webových stránek. Projekt intranetový vyhledávač je možné samozřejmě dále rozšiřovat a přizpůsobovat požadavkům uživatelů v průběhu používání a tím nabídnout uživatelům větší možnosti při hledání. V této verzi nebyl kladen důraz na všechny možnosti fulltextového vyhledávání a zadávání hledaných řetězců, které je možné dále zdokonalovat. Další z možností rozšíření je analýza a načtení nejen webových stránek, ale i dalších typů dokumentů, případně doplnění o nějakou formu atraktivity stránky vycházející z počtu odkazů na tuto stránku a podobně.
7
2.
Úvod do problematiky
Vznik intranetu se datuje do stejné doby, jako vznik prvních akademických sítí a internetu. Intranet je počítačová síť, která používá stejnou infrastrukturu jako internet. Používá stejné komunikační protokoly TCP/IP, internetové služby a webové servery a také webové prohlížeče, jako univerzální přístupový prostředek. Je to však soukromá vnitřní síť vyhrazená pro jedinou organizaci, společnost, nebo soukromou osobu a je určena pouze pro použití malé skupiny uživatelů. Uživatelskými oprávněními bývá přesně definováno kdo má kam přístup a co smí vidět. V počátcích byly první intranetové stránky tvořeny pouze statickým obsahem, avšak s rozvojem webových technologií lze nyní provozovat i na intranetu prakticky stejný obsah a služby jako na internetu. Intranet je zcela nezávislý na internetu. Vytvoření intranetu je poměrně snadné. Stačí propojit počítače pomocí aktivních prvků do sítě. U menších sítí pak lze nainstalovat například webový server na libovolný z připojených počítačů. Ve větších sítích je lepší vyčlenit jeden počítač jako server a pouze na něm provozovat intranetové služby. Základem je webový server, který umožňuje provozovat intranetové stránky a zobrazovat je přes libovolný webový prohlížeč. Tyto intranetové stránky jsou dostupné pouze z vnitřní sítě, nicméně celý intranet lze prostřednictvím vhodného routeru připojit i k internetu. Vlastnosti intranetu, jeho oddělenost od okolního světa a stejná použitá technologie s internetem, jsou velmi výhodné a postupem doby se intranety staly velmi oblíbenými zejména u větších společností. Každý management dobře ví, že k úspěšnému růstu je nutná spolehlivá a bezpečná komunikace uvnitř společnosti. Navíc pokud má společnost například několik tisíc zaměstnanců, není distribuce informací jednoduchou záležitostí. Nejjednodušším řešením je mít vlastní intranet, který může značně usnadnit řešení a tudíž ho většina větších společností, nebo organizací provozuje a používá. S rozvojem používání intranetů však ve stejné míře roste i rozsah informací, které intranet obsahuje. Z počátečních několika stovek intranetových stránek na jednom webovém serveru se nyní u větších organizací setkáváme s desítkami a stovkami tisíc stránek na desítkách až stovkách webových serverů. Izolovanost intranetů však neumožňuje používat k indexaci stránek žádné známé internetové vyhledávače a tak je běžný uživatel intranetu odkázán na vyhledávání na jednom serveru, nebo na hledání informací prostřednictvím různých rozcestníků a tak nemusí vždy nalézt všechny informace, které právě potřebuje. Jako nejlepší řešení se v tomto případě dá považovat použití vlastního intranetového vyhledávače, který umožní na oddělených intranetech provozovat jednoduchou službu, principiálně podobnou známým vyhledávačům.
8
2.1.
Jaká data se dají získat z webových stránek
Při načítání libovolné webové stránky z intranetu, nebo z internetu, využíváme celkem dva zdroje informací. První je odpověď webového serveru, který žádáme o webovou stránku a druhý je vlastní soubor webové stránky v HTML kódu, který nám tento webový server odešle. Informace z obou zdrojů je ve vyhledávači výhodné zpracovat. Z odpovědi serveru můžeme využít tyto odesílané informace: ContentType – kde je uvedeno jaký je typ obsahu zasílaného souboru, například „text/htmlÿ, ContentLength – udává velikost zasílaného souboru v bytech, ResponseUri – vrací URL odpovídajícího serveru, která se z důvodu různého přesměrování může lišit od URL webové stránky. CharacterSet – udává v jakém kódování webová stránka je, například „utf-8ÿ Headers – vrací hlavičku zasílanou serverem, obsahující obsáhlejší informace o serveru. StatusCode – udává status načtení, například „OKÿ, pokud načtení proběhlo bezchybně, v případě chyby vrací číslo chyby, například „404 – stránka nenalezenaÿ. Další data získáme analýzou a rozborem načteného souboru webové stránky, ve kterém je text formátován v HTML kódu. Je to vlastně obyčejný textový soubor, který kromě vlastního textu obsahuje formátovací značky – tagy, které přiřazují textu různý význam. Nebudeme zde rozebírat celou strukturu HTML kódu, ale zaměříme se pouze na ty části, které lze využít pro vyhledávač. Titulek stránky získáme mezi tagy a . Hlavní nadpis stránky získáme mezi tagy