Lekce 2.3

Datové formáty a scraping

Struktura JSON, XML a CSV a k čemu se který hodí, úskalí CSV, co je scraping a čím se liší od práce s API.

Cvičení 1

Knihkupectví

Co si vyzkoušíte

Doplňkem Web Scraper vytáhnete data z cvičného knihkupectví Books to Scrape. Web je postavený přesně pro nácvik scrapingu, takže ho smíte procházet, jak potřebujete. Programovat nebudete: doplněk sám pozná, kde na stránce data leží, a vy jen kontrolujete a upravujete, co našel. Budete potřebovat Chrome, Edge nebo Firefox a svůj účet Google. Pro Safari doplněk není, na Macu proto použijte jeden z těch tří.

Zadání

  1. Nainstalujte si doplněk Web Scraper z obchodu s doplňky svého prohlížeče: pro Chrome, pro Edge, nebo pro Firefox.
  2. Otevřete Books to Scrape a projděte si ho nejdřív jako zákazník. Kolik knih obchod nabízí a kolik jich je na jedné stránce? Co se o knize dozvíte z výpisu a co až po kliknutí na ni?
  3. Na úvodní stránce obchodu klikněte na ikonu Web Scraperu vpravo nahoře v liště prohlížeče a spusťte průvodce (AI Sitemap Wizard). Když ikonu v liště nevidíte, najdete ji pod ikonou doplňků. Průvodce vezme otevřenou stránku jako startovní adresu a sám najde knihy, které se na ní opakují. Prohlédněte si, které údaje u knih našel, a výběr potvrďte.
  4. V dalším kroku průvodce hledá, jak se dostat na další stránky výpisu. Zkontrolujte, že našel odkaz na další stránku. Kdyby ho nenašel, ukažte mu ho sami.
  5. Spusťte scraping. Doplněk otevře vlastní okno, nechte ho doběhnout. Kolik řádků jste dostali? Porovnejte data se stránkou: chybí nějaký údaj, nebo je něco zkrácené?
  6. Projděte průvodce ještě jednou, tentokrát bez stránkování, a scraping spusťte znovu. Kolik knih doplněk posbíral teď a jak dlouho to trvalo ve srovnání s předchozím během?
  7. Pošlete scraper i do detailu knih. Než to uděláte, spočítejte, kolik stránek by musel navštívit, kdyby otevřel detail každé knihy v obchodě. Pak otevřete jen kategorii Mystery, aby toho bylo méně, a spusťte na ní průvodce znovu. Ve kroku s detaily mu ukažte odkazy na knihy. Průvodce si projde několik ukázkových detailů a navrhne údaje z nich. Nechte si popis knihy, UPC a počet kusů skladem, ostatní smažte a údaje pojmenujte anglicky.
  8. Exportujte data jako CSV. Založte nový Google Sheet a soubor do něj nahrajte přes Soubor → Importovat → Nahrát. Které sloupce doplnil Web Scraper sám? Poznal Sheets ceny jako čísla?
Ruční nastavení

Web Scraper má i vlastní záložku ve vývojářských nástrojích prohlížeče. Otevřete je klávesou F12 nebo zkratkou Ctrl+Shift+I na Windows a Linuxu, na Macu Cmd+Option+I. V záložce Web Scraper se dá sitemap postavit ručně, selektor po selektoru, když by automatické rozpoznání dat v průvodci selhalo.

Bonus

  1. Hodnocení hvězdičkami na stránce vidíte, ale jako text tam napsané není. Najděte ve vývojářských nástrojích, kde v HTML je, a dostaňte ho do dat. Průvodce vlastní údaje na stránce výpisu přidat nedovolí, sitemap proto upravte ručně v záložce Web Scraper.
  2. Upravte v Google Sheets ceny tak, aby s nimi šlo počítat, a zjistěte průměrnou cenu knihy v kategorii Mystery a nejdražší knihu.
  3. Web Scraper umí nastavení sitemap vyexportovat jako JSON. Prohlédněte si ho: poznáte v něm selektory, které průvodce vytvořil, a to, který leží pod kterým?