Automatizované získávání dat přímo z webových stránek mimo datové feedy, tedy scraping, mi přijde jako docela velká věc. Třeba takový Skypicker na nich vybudoval slušný projekt. Dlouho jsem si myslel, že k tomu člověk musí mít hluboké know how a nákladné nástroje. Ani jedno dnes už naštěstí není pravda, alespoň pro určité úkony.

Předem musím zmínit, že scraping bude leckdy na hraně etiky a některé weby jej přímo zakazují, jako například Google (zde) nebo Twitter (zde). Je tedy jen na vás, jestli budete jejich podmínky porušovat. I ten zmíněný Skypicker se nakonec přesunuje k dohodám s leteckými společnostmi. Mě scraping zajímá z pohledu SEO a propagování obsahu a tím směrem bude zaměřený i zbytek článku.

Abyste se scrapingu mohli věnovat, musíte mít dvě věci – znalost, jak vyznačit části kódu, jejichž obsah vás na webu zajímá a nějaký nástroj.

Cestu vám ukáže XPath

Vědět, jak vyznačit konkrétní část webu, se naštěstí nemusíte složitě učit. Běžně se používá jazyk XPath, jehož kódem umíte přesně identifikovat typ prvku a jeho pozici v kódu. Jestliže se chcete do XPath ponořit víc, můžete třeba začít třeba tady. Na nás ostatní myslí autoři prohlížečů, díky nimž můžete snadno označit část stránky a nechat si ji uložit právě v XPath. Jak na to v Google Chrome?

Myší označíte text a pravým tlačítkem si vyberete volbu Zkontrolovat prvek. Označit můžete buď celou část, například nadpis H1, nebo jen kousek textu a zbytek vybrat v dalším kroku.

Jak na scraping dat z webů 1
Spusťte vývojářskou konzoli.

Tím se otevře vývojářská konzole, kde musíte najít řádek kódu, který definuje oblast, kterou chcete stáhnout. Pro nás lamy je to zjednodušené, když kliknete na řádek v kódu, na webu se oblast zvýrazní.

Jak na scraping dat z webů 2
Vyberte v kódu příslušný řádek a sledujte, jak je mění označená část na webu.

Jakmile jste si vybrali, nechte si označený kód uložit v jazyku XPath.

Jak na scraping dat z webů 3
Pravým tlačítkem myši vyvolejte nabídku a uložte XPath

Takže kód máme, co teď? Teď musíte mít nástroj, který jej umí využít. Já používám URL Profiler, do kterého vložím seznam URL, sitemap.xml nebo csv s adresami, které mě zajímají. Následně v URL Profileru přidám do sekce Custom Scraper uložené XPath cesty (až 10 kusů současně) a nechám nástroj, aby jednotlivé adresy načetl a výsledek mi uložil do xls tabulky.

Jak na scraping dat z webů 4

Pokud z URL chcete scrapovat více adres na různých webech, musí mít vždy identickou cestu k uzlu (což se právě definuje v jazyku XPath). U URL v rámci jednoho webu to lze hezky využít s šablon stránek (produkt, kategorie, atd). Co tak třeba můžu stáhnout třeba pro analýzu?

  • produktové popisky konkurence
  • hodnocení shopů z Heuréky
  • data z katalogových popisů tamtéž
  • kontakty z akcí, jako veletrhy
  • data z katalogů
  • jména autorů
  • data publikace

Vybrat si ještě můžete, jestli budete stahovat html kód nebo jen tzv. vnitřní text.

Možností je hodně a záleží na vaší fantazii.

CSS

Prakticky stejně, jako s XPath, můžete scrapovat data pomocí CSS. Postup získání CSS selektoru je stejný, jako v případě XPath. CSS se hodí, pokud stahujete data z jedné domény, protože třídy v šabloně by měly být stejné napříč celým webem.

Regulární výrazy

K výběru scrapovaných dat můžete použít i regulární výrazy. Tato metoda se hodí v případě, že chcete ověřit například přítomnost nějakého kódu. Regulární výraz hledaný řetězec buď najde a stáhne jej, nebo nenajde.

Další nástroje a možnosti

Pro Google Chrome existuje parádní rozšíření WebScraper, se kterým nemusíte ani používat XPath. Rozšíření spustíte opět ve vývojářské konzoli a na vybraném webu v něm pouze označíte sekce a části, které chcete stáhnout. Vše je intuitivní a moc hezky to ukazuje video od autora.

K dispozici je i celá řada hotových komplexnějších nástrojů:

Asi nejlepší aktuální přehled o nástrojích pro scraping najdete v článku Garetha Jamese.

Mimo můžete ke scrapování použít i OpenRefine. Tady musím jednoznačnačně doporučit školení, za kterým stojí GetFound.

Scrapovat data můžete i pomocí populárního Screaming Frogu. Na jejich blogu najdete návod, jak na to. Protože už znáte postup pomocí XPath nebo CSS, bude to pro vás hračka.

Stahování SERP Google

Od autorů URL Profileru pochází i jednoduchý program zdarma s názvem Simple SERP Scraper. Najdete v něm všechny národní domény v Google. Stačí do něj pouze vložit seznam svých dotazů, nastavit počet výsledků a stran, případně zpoždění u dotazů kvůli blokaci ze strany Google (což můžete obejít použitím proxy serverů) a počkat si na výsledek.

Jak na scraping dat z webů 5
Úvodní obrazovka Simpple SERP Scraperu

Ten dostanete v podobě souboru, ke na řádku najdete URL, pozici a položený dotaz. S tím pak můžete kouzlit dál třeba v automatizovaném prospectingu při budování odkazů nebo analýze konkurence v SERP, o které nedávno psal Michal Krutiš, který ale vstupní data získává jinak.

Tip: Kde koupit proxy servery?

Twitter List Scraper

Zdarma a jednoduše můžete stahovat i data z uživatelských seznamů na Twitteru, stačí si stáhnout Twitter List Scraper a k tomu přečíst návod, jak na to.

Shrnutí

Začít se scrapingem není tedy nijak těžké. Můžete si tak dost usnadnit práci, ušetřit peníze a získat úplně nové možnosti. Jak jste na tom vy? Naučím se něco nového i od vás?

❤ Chcete se naučit získávat odkazy? Přijďte na školení link buildingu!



.
.

4 KOMENTÁŘE

  1. Super článek, zrovna včera jsem dobrých 20 minut zkoušela nastavit ve Scraperu Xpath tak, aby mi to vysosalo, co jsem chtěla. Nakonec se podařilo, nicméně to trochu sklouzlo k metodě pokus – omyl. Každopádně díky za tipy na nové nástroje. Určitě na ně mrknu.

    • Pokus omyl je v pohodě. Doporučuju si udělat nějaké poznámky s nastavením často se opakujících Xpath cest.

    • Znalosti XPath vám může pomoci lépe využívat nástrojů pro načtení dat. Ale teď tam je také kus softwaru, tzv Octoparse. Dokonce i když nemají žádné zkušenosti s programováním, můžete také použít ke sběru dat. Zkuste, je pravděpodobné, budete to líbí.

      http://www.octoparse.com/download/

    • XPath jest trudniejszy do odczytania i zrozumienia, użycie selektorów CSS / JQuery może uprościć proces użytkowania i budowania. Dlatego preferuję selektory CSS, które będą używane w skriningach internetowych.

ZANECHAT ODPOVĚĎ

Please enter your comment!
Please enter your name here