Shrnutí
Když data opouštějí databázi, zapíšou se do souboru v domluveném formátu. JSON, XML i CSV jsou prostý text, který přečte člověk i program, ale každý unese něco jiného. Data, která nikdo v takovém formátu nenabízí, se dají vytáhnout ze stránky scrapingem.
| Formát | Struktura | Typické využití | Na co pozor |
|---|---|---|---|
| JSON | objekty {} s dvojicemi klíč a hodnota, pole [], zanořování; rozlišuje text, číslo, true/false a null |
webová API, konfigurační soubory, výměna dat mezi aplikacemi | jen dvojité uvozovky, žádná čárka za posledním prvkem, žádné komentáře |
| XML | elementy s otevírací a zavírací značkou, atributy, právě jeden kořen; všechno je text | dokumenty (.docx, .xlsx), RSS, SVG, faktury, úřady a banky, ověřování podle schématu |
značky se nekříží a musí se zavřít, velikost písmen, & a < v textu; delší zápis |
| CSV | řádek je záznam, hodnoty dělí oddělovač, první řádek bývá hlavička; bez zanoření a bez typů | export z tabulek a databází, předávání tabulek mezi programy | oddělovač, desetinná čárka, uvozovky, víceřádkové hodnoty, kódování |
- Scraper si stáhne stránku určenou lidem a data najde podle tagu, třídy a
id. Třída se opakuje,idje na stránce jen jednou. Selektory se dají skládat, třeba#rates .buy. - Stránka se může kdykoli změnit a scraper se rozbije, API má stálou strukturu. Před scrapingem se proto vyplatí hledat API nebo export a přečíst si
robots.txta podmínky užití webu.
Umím?
- Popíšu strukturu JSON, XML a CSV na příkladu a řeknu, k čemu se který formát používá.
- Najdu a opravím chybu v zápisu JSON i XML.
- Převedu data z JSON do XML a rozhodnu, co bude element a co atribut.
- Porovnám JSON a XML z hlediska čitelnosti, velikosti, datových typů a využití.
- Vysvětlím úskalí CSV: oddělovače, desetinnou čárku, escapování, víceřádkové hodnoty a kódování.
- Vysvětlím, co je scraping, k čemu se používá a čím se liší od práce s API.
- Najdu ve vývojářských nástrojích elementy s daty a zapíšu pro ně selektor podle tagu, třídy a id.
- Vytáhnu data ze stránky doplňkem Web Scraper, i přes víc stránek a s detaily položek, a uložím je jako CSV.
-
Vím, co říká
robots.txta na jaká pravidla dát při scrapingu pozor.