1 Prozkoumejte existující řešení nástrojů pro detekci pozic ve vyhledávačích, popište jejich funkce, výhody a nedostatky. Na základě předešlé analýzy ...
Prozkoumejte existující řešení nástrojů pro detekci pozic ve vyhledávačích, popište jejich funkce, výhody a nedostatky. Na základě předešlé analýzy navrhněte systém, který ukáže pozice webových stránek na vybraný výraz. Aplikace bude umožňovat další práci s nasbíranými daty — generování přehledových tabulek, grafů a statistik. Při návrhu se zaměřte na vylepšení funkcionalit, které jste shledali jako nedostatečné u řešení v předešlém průzkumu. Webové rozhraní by mělo splňovat základní požadavky kladené na tvorbu webových aplikací (validní kód, použitelnost, grafická úprava. . . ).
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství
Bakalářská práce
Pokročilá webová aplikace pro detekci pozic ve vyhledávačích Luboš Müller
Vedoucí práce: Ing. Jiří Dostál
16. května 2012
Poděkování Chtěl bych především poděkovat Ing. Jiřímu Dostálovi, vedoucímu bakalářské práce, za všechny podněty, vstřícnost a ochotu. Také děkuji své rodině za podporu a toleranci při psaní této práce.
Prohlášení Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle §60 odst. 1 autorského zákona.
V Praze dne 16. května 2012
..................... 7
České vysoké učení technické v Praze Fakulta informačních technologií c 2012 Luboš Müller. Všechna práva vyhrazena.
Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora.
Odkaz na tuto práci Luboš Müller. Pokročilá webová aplikace pro detekci pozic ve vyhledávačích: Bakalářská práce. Praha: ČVUT v Praze, Fakulta informačních technologií, 2012.
Abstract This thesis deals with the development of a web application for the detection of positions in search engines Seznam, Google, Jyxo and Bing. The application is available online at http://www.livedetect.cz. The thesis describes the existing solutions for detecting the positions. Then it deals with the analysis of source code of sites with search results, design and implementation of the application and testing. The thesis also includes installation and user guide. Keywords positions in search engine, reports, graphs, SEO, LiveDetect
Abstrakt Tato bakalářská práce se zabývá vývojem webové aplikace pro detekci pozic ve vyhledávačích Seznam, Google, Jyxo a Bing. Aplikace je dostupná online na http://www.livedetect.cz. Práce popisuje existující řešení pro zjišťování pozic. Dále práce pojednává o analýze zdrojových kódů stránek s výsledky vyhledávání, návrhu a způsobu implementace aplikace a jejím testování. Součástí práce je také instalační a uživatelská příručka. Klíčová slova pozice ve vyhledávači, přehledy, grafy, SEO, LiveDetect
A.1 Co znamenají některé z položek . . . . . . . . . . . . . . . . . . . .
65
17
Úvod Měření pozic ve vyhledávačích je v poslední době často skloňovaný pojem. Firmám záleží na tom, aby se jejich webové prezentace zobrazovaly co nejvýše ve výsledcích fulltextového vyhledávání předních vyhledávačů. Ruční kontrola pozic bývá často velmi zdlouhavá. Proto na českém internetu existuje několik nástrojů, které zjišťují pozice ve vyhledávačích automaticky. Avšak tyto nástroje jsou buď placené nebo neposkytují kvalitní data. V této bakalářské práci se věnuji právě vývoji aplikace pro detekci pozic ve vyhledávačích, která bude poskytovat data odpovídající skutečnosti a zjednoduší analýzu pozic. V následujících kapitolách budu nejprve popisovat současná řešení pro měření pozic, shrnu jejich funkce, výhody a nedostatky. Poté se budu věnovat analýze, návrhu a způsobu implementace této aplikace. V kapitole testování popíši testy funkcí aplikace a testy požadavků na vyhledávače Seznam, Google, Jyxo a Bing.
19
KAPITOLA
Existující řešení Pro potřeby SEO analytiků existuje na internetu několik online nástrojů, které se problémem detekce pozic ve vyhledávačích zabývají. Prvním úkolem práce je prozkoumat funkce stávajících komerčních i nekomerčních aplikací, popsat jejich výhody (např. kvalita a přesnost výsledků) i nevýhody (nepřívětivé uživatelské rozhraní, placené služby nebo nízká frekvence stahování dat).
• Funkce Pomocí nástroje SEO servis lze zjistit pozice ve vyhledávačích Seznam, Google, Jyxo a Bing. Pozice ve vyhledávačích v minulosti. SEO servis uživateli ukáže také počet zpětných odkazů a zaindexované stránky. Dále dokáže zobrazit hodnoty PageRankTM , S-rank, Alexarank. • Výhody Přehledné uživatelské rozhraní. Odkazy na statistky hledanosti klíčových slov Seznam a Google. • Nedostatky SEO servis zobrazí pozice pouze pro jeden web a klíčové slovo. Neexistuje možnost načíst data zpětně – nástroj slouží pro občasné použití. Odchylky výsledků od reálných pozic.
• Funkce Detektor pozic pro Seznam, Google CZ, Google EN a Google SK. Možnost zadat více klíčových slov a webů najednou. Včetně nalezené pozice SEO nástroje zobrazují i počet výsledků v daném vyhledávači. Uživatel se může zaregistrovat. Tím získá nástroj SEO monitor, který ukazuje výsledky dalších jazykových verzí Google a má k dispozici graf s vývojem pozic. Podmínkou pro použití free verze SEO monitoru je umístění odkazu na sledovaný web. • Výhody Registrovaný uživatel získá celkem kvalitní nástroj pro detekci pozic zdarma. Přesnost výsledků. Automatické zasílání výsledků emailem. • Nedostatky U verze bez registrace musí uživatel zadat kód captcha, který je často velmi nečitelný. Maximálně 10 sledovaných klíčových slov pro 1 web. Ukládání historie pouze po dobu 6 měsíců. Bez exportu dat. Umístění odkazu na sledovaný web.
Obrázek 1.3: Ukázka aplikace Instant Search Engine Rankings Report
• Funkce Nástroj pro výpis pozic pro jeden web ve vyhledávačích Google EN a Bing. • Výhody Uživatel má možnost zadat více klíčových slov. Přidanou hodnotou je náhled snipetu s titulkem stránky, popisem a odkazem. Jednoduché uživatelské rozhraní. Data se načítají a zobrazují postupně pro každý vyhledávač, což přispívá plynulosti aplikace. • Nedostatky Neplacená verze pouze na 30 dní. Chybí české vyhledávače.
24
1.2. Placené nástroje
1.2 1.2.1
Placené nástroje Collabim
Dostupné online[4] http://www.collabim.cz/
Obrázek 1.4: Ukázka aplikace Collabim
• Funkce Měření pozic do prvních 60 výsledků ve vyhledávačích Seznam, Bing (česky), Yahoo!, Google (CZ, SK, EN, DE, PL). Zobrazení hledanosti klíčových slov v Google. Tabulka s přehledem klíčových slov k danému webu. Je vidět změna pozice oproti minulému vyhledávání. Pro každé klíčové slovo je k dispozici graf s vývojem pozice v čase. Je možné deaktivovat stahování dat u konkrétního klíčového slova, přitom se nemusí smazat. Psaní poznámek ke klíčovým slovům. Export dat ve formátu .cvs nebo .xlsx. Zasílání reportu e-mailem. • Výhody Přehledné uživatelské rozhraní. Při prvním spuštění je uživatel provázen nápovědou step-by-step. Účet může spravovat více uživatelů, lze jim přiřadit role administrator, editor a client. Collabim umožňuje členění klíčových slov do skupin. • Nedostatky Fungování Collabimu je omezeno na prohlížeče Mozilla Firefox 3.5+, Google Chrome 6+ a Safari 5+. Pro správnou funkci je nutné nainstalovat plugin do prohlížeče, bez něj nelze nástroj pro detekci pozic spustit. Cena za Collabim při správě 15 webů je 1200Kč/měsíc. Nevýhodou jsou drobné odchylky od reálných pozic ve vyhledávačích. 25
1. Existující řešení
1.2.2
AuthorityLabs Rank Monitoring
Dostupné online[5] http://authoritylabs.com/
Obrázek 1.5: Ukázka aplikace AuthorityLabs Rank Monitoring
• Funkce Měření pozic ve vyhledávačích Bing, Yahoo! a Google do 100 pozice. Tabulka se zadanými doménami, která ukazuje průměrnou pozici všech klíčových slov v žebříčku top 100 v rámci domény a příslušnou změnu pozice z předchozího dne. Zároveň obsahuje malé grafy, které ukazují trendy za posledních 30 dnů od aktuálního data. Tabulka s přehledem klíčových slov k danému webu. Je vidět změna pozice oproti minulému vyhledávání i hustota vyhledávání. • Výhody Weby lze členit do skupin. Potom stačí zadat klíčové slovo pouze jednou a přiřadit jej skupině, není třeba jej psát pro každý web zvlášť. • Nedostatky Web není dostupný v češtině. Chybí vyhledávání v české verzi Google a dalších českých vyhledávačích. Cena za 10 domén činí $24/měsíc, v tomto tarifu je omezení na 100 klíčových slov.
26
1.3. Specifikace cíle
1.3
Specifikace cíle
Cílem této práce je navrhnout a implementovat webovou aplikaci pro detekci pozic ve vyhledávačích. Po prozkoumání existujících řešení jsem vzal v potaz silné stránky těchto aplikací a sestavil jsem následující specifikaci: • aplikace přístupná online • zobrazení pozic webových stránek z přirozeného vyhledávání Seznam, Google (česky), Jyxo a Bing (česky) • přesnost nalezených pozic • každý uživatel si pozice z vyhledávačů stahuje sám, tzn. nebude omezen automatickým stahováním • členění webů do skupin (balíčků) • přehledy klíčových slov a webů • zobrazení změny pozice oproti předchozímu vyhledání • grafy s denní pozicí klíčových slov • zobrazení snippetu z vyhledávače • export dat • tisk dat
27
KAPITOLA
Analýza a návrh aplikace V této kapitole se budu věnovat funkčním a nefunkčním požadavkům na aplikaci a návrhu struktury aplikace a databáze. Důležitou součástí této kapitoly bude také analýza zdrojových kódů stránek s výsledky vyhledávání a prozkoumání způsobu, jak pozici ve vyhledávači načíst – toto je nezbytné pro pozdější implementaci jednotlivých parserů 1
2.1 2.1.1
Požadavky na aplikaci Funkční požadavky
• zobrazení pozic webových stránek z přirozeného vyhledávání: – Seznam – Google (česká verze) – Bing (české výsledky vyhledávání) – Jyxo • procházení stránek vyhledávačů do 100. pozice • každý uživatel si pozice z vyhledávačů stahuje sám, tzn. nebude omezen automatickým stahováním např. jednou za týden • členění webů do skupin (balíčků), kvůli snazšímu přiřazování klíčových slov • přehledy klíčových slov a webů 1 Z anglického parse. V tomto případě se jedná o program, který bude analyzovat zdrojový kód vyhledávačů. Dále v textu budu výraz parser používat.
29
2
2. Analýza a návrh aplikace • v tabulce zobrazení změny pozice oproti předchozímu vyhledání • grafy s denní pozicí klíčových slov • zobrazení snippetu z vyhledávače (adresa, titulek, popis) • zobrazení náhledu stránky z vyhledávače • export dat do formátů pdf, csv, excel • tisk dat
2.1.2
Nefunkční požadavky
• Apache, PHP, MySQL kvůli nasazení na serveru s těmito technologiemi • použití frameworku Nette[6] • použití Google Chart Tools[7] • dostupnost přes web – systém bude dostupný jako webová aplikace • povinné přihlašování – pro používání aplikace se musí uživatel nejprve přihlásit • povinná registrace – každý člen týmu musí být registrován • ukládání pozic do databáze • omezení počtu klíčových slov a webů, aby vyhledávač uživateli nezablokoval vyhledávání
2.2
Doménový model aplikace
Základem pro návrh doménového modelu jsou požadavky na aplikaci a následující scénář: Uživatel se zaregistruje a přihlásí do aplikace. Založí si jeden nebo více balíčků (skupin), kam vloží klíčová slova a weby. Uživatel má možnost kdykoliv importovat pozice z vyhledávačů. Statistiky se vztahují k dvojici klíčové slovoweb. Každá tato dvojice také obsahuje snippety ze všech čtyř vyhledávačů.
2.3
Návrh databáze
Struktura databáze, která vychází z doménového modelu je základním kamenem této aplikace. Jako databázový systém jsem zvolil MySQL, tabulky jsou typu MyISAM. Celkem databáze obsahuje 11 tabulek. Jména tabulek a sloupců jsou zvolena s ohledem na abstraktní vrstvu Diggriola[8], která umožňuje snadnější tvorbu dotazů s použitím Nette a NotORM[9]. 30
2.3. Návrh databáze
Obrázek 2.1: Doménový model vygenerovaný pomocí nástroje Enterprise Architect[11] ukazuje strukturu aplikace. Na základě tohoto modelu je vytvořena databáze.
2.3.1
Struktura databáze a popis tabulek
• Tabulka users Tabulka s detaily uživatelů. Obsahuje id – primární klíč, jméno, příjmení, email, uživatelskou roli a heslo pro přihlášení do aplikace. • Tabulka packages Balíčky nebo také skupiny klíčových slov a webových stránek. Obsahuje id – primární klíč, název balíčku a identifikátor uživatele, kterému balíček patří – cizí klíč. • Tabulka webs Seznam URL adres. Obsahuje id – primární klíč a URL adresu ve formátu www.example.com. • Tabulka keywords Seznam klíčových slov. Obsahuje id – primární klíč a klíčové slovo. • Tabulka keywords_webs Dekompoziční tabulka. Přiřazuje klíčová slova k URL adresám. Obsahuje id – primární klíč, dále údaj, jestli je dvojice klíčové slovo-adresa aktivní (bude se zjišťovat pozice) a cizí klíče identifikátory z tabulek webs a keywords. 31
2. Analýza a návrh aplikace • Tabulka packages_keywords_webs Dekompoziční tabulka. Určuje, která dvojice klíčové slovo-adresa patří do kterého balíčku. Obsahuje id – primární klíč a cizí klíče identifikátory z tabulek packages a keywords_webs. • Tabulky google_stats, seznam_stats, jyxo_stats, bing_stats Tyto tabulky uchovávají nalezené pozice ve vyhledávačích. Každá obsahuje id – primární klíč, pozici, datum nalezení pozice a cizí klíč identifikátor vyhledávané dvojice klíčové slovo-adresa. • Tabulka snippet V této tabulce jsou uloženy snippety – náhledy odkazů z vyhledávačů. Obsahuje id – primární klíč, titulek stránky, krátký popis, URL, adresu náhledu, údaj, ke kterému vyhledávači snippet patří a cizí klíč identifikátor vyhledávané dvojice klíčové slovo-adresa.
2.4
Analýza případů užití
Analýza případů užití se vztahuje k funkčním požadavkům a rozšiřuje je do výsledné podoby. Tato analýza definuje chování celého systému. Obsahuje celkem 19 případů užití aplikace.
2.4.1
Registrace
• Aktér: Nepřihlášený uživatel • Popis: Nepřihlášený uživatel chce používat aplikaci. Vyplní krátký registrační formulář. Údaje projdou validací jak na straně klienta, tak na straně serveru. Pokud registrace proběhne úspěšně, dojde k přesměrování na stránku pro přihlášení do aplikace.
2.4.2
Přihlášení
• Aktér: Nepřihlášený uživatel • Popis: Nepřihlášený uživatel se chce přihlásit do aplikace. Zobrazí se formulář pro zadání e-mailu a hesla. Uživatel vyplní obě pole a formulář odešle. Údaje projdou validací jak na straně klienta, tak na straně serveru. Pokud jsou údaje správné, je uživatel úspěšně přihlášen.
2.4.3
Zobrazení statických stránek
• Aktér: Nepřihlášený uživatel, přihlášený uživatel • Popis: Uživatel zobrazí výběrem položky z menu statickou stránku s obsahem, který nevyžaduje přihlášení do aplikace. 32
2.4. Analýza případů užití
Obrázek 2.2: Relační databázový model vygenerovaný pomocí nástroje MySQL Workbench 5.2 CE[10]
33
2. Analýza a návrh aplikace
2.4.4
Statistiky účtu
• Aktér: Přihlášený uživatel • Popis: Uživatel si chce prohlédnout statistiky účtu. Výběrem položky z menu zobrazí detail účtu statistiky. Těmi jsou počet balíčků, počet webů, počet klíčových slov, počet dvojic klíčové slovo-web.
2.4.5
Změna hesla
• Aktér: Přihlášený uživatel • Popis: Uživatel si přeje změnit heslo pro přihlášení. Výběrem položky z menu zobrazí detail účtu, který zároveň obsahuje formulář pro změnu hesla. Uživatel zadá staré heslo a nové heslo, které pro ověření ještě jednou zopakuje. Pokud údaje projdou validací, heslo se úspěšně změní. Uživatel je informován.
2.4.6
Přehled balíčků
• Aktér: Přihlášený uživatel • Popis: Uživatel zobrazí přehled balíčků po výběru položky z menu. Tato stránka je také zobrazena ihned po přihlášení. Přehled balíčků je zobrazen ve formě tabulky a má možnosti tisku a exportu dat do několika formátů. Součástí je také filtr pro vyhledávání.
2.4.7
Smazat balíček
• Aktér: Přihlášený uživatel • Popis: Uživatel chce smazat celý balíček. Z menu přejde na stránku s přehledem balíčků. Kliknutím na položku Smazat akce započne. Systém se zeptá na potvrzení akce. Pokud uživatel souhlasí, je balíček smazán. V opačném případě se nic nestane.
2.4.8
Detail balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel si přeje zobrazit obsah balíčku. Z menu přejde na stránku s přehledem balíčků. Kliknutím na položku Detail přejde na stránku s detailem balíčku. Detail balíčku je zobrazen ve formě dvou záložek. První se týká webů a obsahuje formulář pro přidání webu a seznam webů. Druhá záložka obsahuje formulář pro přidání klíčového slova a přehled klíčových slov v balíčku. 34
2.4. Analýza případů užití
2.4.9
Seznam klíčových slov balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku a přeje si zobrazit seznam klíčových slov. To udělá výběrem požadované záložky.
2.4.10
Přidání klíčového slova ke všem webům z balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku na záložce Klíčová slova a chce přidat klíčové slovo. To vyplní do formulářového pole. Formulář odešle, klíčové slovo se přidá k webům v rámci povoleného limitu. Pokud je během přidávání limit překročen, je uživatel informován.
2.4.11
Smazání klíčového slova z balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku na záložce Klíčová slova a chce smazat klíčové slovo. Kliknutím na položku Smazat akce započne. Systém se zeptá na potvrzení akce. Pokud uživatel souhlasí, je klíčové slovo smazáno ze všech webů v balíčku a z balíčku samotného také. V opačném případě se nic nestane.
2.4.12
Seznam webů balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku a přeje si zobrazit seznam webů. To udělá výběrem požadované záložky.
2.4.13
Přidání webu do balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku na záložce Weby a chce přidat web. Ten vyplní do formulářového pole. Uživatel zaškrtnutím checkboxu zvolí, jestli chce k webu přidat klíčová slova, která už jsou v balíčku obsažena. Formulář odešle, klíčová slovo se přidají k webu v rámci povoleného limitu. Pokud je během přidávání limit překročen, je uživatel informován. Pokud checkbox není zaškrtnut, přidá se web bez přiřazených klíčových slov. 35
2. Analýza a návrh aplikace
2.4.14
Smazání webu z balíčku
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku na záložce Weby a chce smazat web. Kliknutím na položku Smazat akce započne. Systém se zeptá na potvrzení akce. Pokud uživatel souhlasí, je web smazán. V opačném případě se nic nestane.
2.4.15
Detail webu
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu balíčku na záložce Weby a chce zobrazit detail webu. Kliknutím na položku Detail přejde na stránku s detailem webu. Ten obsahuje pro přidání klíčového slova a přehled klíčových slov spárovaných s webem.
2.4.16
Přidání klíčového slova k webu
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu webu a chce přidat klíčové slovo. To vyplní do formulářového pole. Formulář odešle, klíčové slovo se přidá k webu pokud není překročen povolený limit na dvojice. Pokud je během přidávání limit překročen, je uživatel informován.
2.4.17
Smazání klíčového slova z webu
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu webu a chce smazat klíčové slovo. Kliknutím na položku Smazat akce započne. Systém se zeptá na potvrzení akce. Pokud uživatel souhlasí, je klíčové slovo smazáno z webu. V opačném případě se nic nestane.
2.4.18
Zobrazení statistiky pozic ve vyhledávačích
• Aktér: Přihlášený uživatel • Popis: Uživatel se nachází v detailu webu a chce zobrazit statistiku pozic ve vyhledávačích po zadání konkrétního klíčového slova. Kliknutím na položku Zobrazit se zobrazí stránka se statistikami. Stránka se skládá ze dvou částí. První část jsou 4 záložky pro vyhledávače Seznam, Google, Jyxo a Bing. Každá záložka obsahuje graf s vývojem pozic mezi jednotlivými importy dat. Uživatel může měnit hodnoty 36
2.4. Analýza případů užití
Obrázek 2.3: Model případů užití vygenerovaný pomocí nástroje Enterprise Architect[11]. Z úsporných důvodů jsou zobrazeny pouze některé případy užití. Celý model je k dispozici na přiloženém CD.
v grafu na základě výběru data z kalendáře. Pod grafem má své místo snippet – náhled, jak vypadá stránka mezi výsledky vyhledávání. Druhou částí je tabulka se všemi importovanými pozicemi. Pozice jsou zobrazeny včetně posunu od předchozího importu (zelená znamená posun nahoru mezi výsledky vyhledávání, červená naopak). Zvláštní pozornost je třeba věnovat hodnotě 110. Tato konstanta znamená, že stránka nebyla nalezena mezi prvními sto pozicemi. Aplikace stahuje data do sté pozice. Po najetí myší do tabulky se zobrazí datum importu dané pozice. Nechybí toolbar pro export dat.
2.4.19
Import pozic z vyhledávačů
• Aktér: Přihlášený uživatel
• Popis: Uživatel si přeje importovat pozice. Z menu přejde na stránku s importy. Kliknutím na požadovaný odkaz se provede import. Průběh je zobrazen pomocí progressbaru. Importy jednotlivých vyhledávačů lze opakovat po třiceti minutách. 37
2. Analýza a návrh aplikace
2.5
Analýza struktury stránek vyhledávačů a jejich parsování
Základem pro parsování vyhledávačů je využití stromové struktury objektového modelu dokumentu (DOM). Vyhledávače mají různou strukturu generované stránky s výsledky, proto je pro každý nutné vytvořit specifický parser. PHP umožňuje práci s DOM pomocí třídy DOMDocument. Všechny používané parsery použité v této práci mají společný základní algoritmus: • Otevři stránku s výsledky vyhledávání – načtení pomocí URL s parametry. • Načti dokument. • V cyklu projdi požadované elementy. • Porovnej nalezená data. • Vrať výslednou pozici. Struktura DOM stránek s výsledky vyhledávání není konstantní. Během psaní této práce se např. ve vyhledávačích Seznam a Google několikrát změnila. Na tyto změny je nutné reagovat a průběžně upravovat parsery, aby nedeocházelo k chybám.
2.5.1
Stránka s výsledky vyhledávání Seznam.cz
• URL + parametry http://search.seznam.cz/?q=example&count=10&from=1[12] – q – Označuje dotaz pro hledání. Dotaz je standardně kódovaný v utf-8. Kromě utf-8 může být použito také kódování windows-1250, iso-8859-2 nebo utf-16. – count – Určuje počet výsledků vyhledávání na stránce. Defaultně je nastaven na 10, maximálně může zobrazit 20 výsledků na stránce. Pro účely parseru použitého v této práci bude ponecháno nastavení na 10 výsledků. – from – Určuje, od jakého výsledku v pořadí mají být vráceny výsledky. Defaultně je nastaven na 1, jeho maximální hodnota je 1000, což se rovná hodnotě parametru count. Pro účely parseru použitého v této práci bude jeho maximální hodnota 90, která odpovídá desáté stránce s výsledky vyhledávání. • Struktura zdrojového kódu výsledků vyhledávání V běžném vyhledávání se mezi přirozenými výsledky zobrazují také odkazy na partnerské weby Seznam.cz. Jedná se o Firmy.cz, Obrazky.cz, 38