Ve zcela nepovinném pseudoprogramovacím domácím cvičení si vyzkoušíme velmi jednoduché scrapování jednoduchého webu. Jak ukazoval na čtvrteční přednášce Honza Boček, scrapování pomáhá tam, kde data existují, jsou přístupná, ale nejsou ve vhodných podobách.Scrapování není tak jednoduché, weby jsou někdy složité, musíte pracovat s různými strukturami URL (vzpomeňte atlety v Sochi, kde výška a váha byla na samostatné stránce každého atleta, atp.) My si zkusíme jednodušší web, kde jsou všechny informace, které potřebujeme, na jedné stránce. Modelová situace: plánujete vizualizaci o Evropském parlamentu a jako výchozí krok potřebujte tabulku, která bude obsahovat jména všech poslanců, jejich národnost a stranickou příslušnost. Předpokládejme nyní, že taková tabulka nikde předpřipravená není. Na stránce Evropského parlamentu jste našli seznam všech poslanců, je na jedné stránce, včetně požadovaných informací. Vypadá přesně takhle: http://www.europarl.europa.eu/meps/cs/full-list.html?filter=all&leg= 766 poslanců tu visí pod sebou a tabulku nevidno. Prosté Ctrl+C a Ctrl+V nefunguje a ruční překopírovávání do sloupečků by trvalo dlouhé dny. Přesně tady přichází na řadu scrapovaní. Jelikož v oblasti nástrojů pro práci s daty a pro vizualizaci došlo k obrovské laicizaci (i o tom budeme mluvit příští čtvrtek), nemusíte dnes umět nijak výrazně programovat, abyste byli schopni scrapovat takto jednoduchý web. Jeden z přístupných nástrojů pro scrapování si dnes ukážeme. Nainstalujte si do Chrome doplněk Scraper. Zamířte pro něj na adresu: https://chrome.google.com/webstore/detail/scraper/mbigbapnjcgaffohmbkdlecaccepngjd Scraper je jednoduchý prográmek, který používá jazyk XPath (http://cs.wikipedia.org/wiki/XPath), sloužící, zjednodušeně řečeno, k odkazování na strukturu dokumentu. Na bakaláři jsme měli HTML i XML, takže si pamatujete, že uvnitř to všechno vypadá nějak takhle: auto kolo boty
Google Vyhledávač
Prostě to má hierarchickou strukturu. Pomocí XPath můžete Scraperu např. říct, ať vám z XML dokumentu obsahujícího seznam produktů vytáhne jen a pouze ty produkty, které jsou typu „elektronika“ a hodí je pod sebe do tabulky. Přesně to teď uděláme na stránce s kompletním seznamem Evropských poslanců. Řekneme skrze základní příkazy XPath Scraperu, aby nám z webu vytáhl jméno poslance, jeho národnost a stranickou příslušnost a aby to takhle udělal u všech 766 poslanců a aby nám z toho nakonec udělal i hezkou tabulku. Klikněte pravým tlačítkem na jméno první poslankyně a zvolte Zkontrolovat prvek. Rozbalí se vám náhled HTML naší stránky. Prozkoumejte si pečlivě kód. Jméno poslankyně je v HTML uloženo v tagu (odkaz na podstránku) a především pak v tagu
  • , což je položka seznamu. Tento tag
  • je dále uložen spolu s dalšími
  • v tagu