Změřte social metriky snadno a rychle

30. Srpen 20146 komentářů

Potřebujete zjistit, které stránky nějakého webu se jak sdílejí? Možná pro vlastní obsahový audit, možná pro rešerše konkurentů, možná pro inspiraci při hledání sexy témat? Hledáte alternativu za haprující camcimcumcem API? Pojďme se mrknout, jak na to – rychle a bezbolestně :-)

Co budeme potřebovat:

1. Příprava URL

Otevřete si Open Refine, klikněte na Create project -> Web Adresses (URL) a do řádku zadejte URL adresu mapy webu (sitemap.xml), který chcete zkoumat. Obvykle bývá sitemapa přímo v kořenovém adresáři (www.nejakyweb.cz/sitemap.xml), může být ale i jinde (typicky najdete umístění v robots.txt) nebo v jiném formátu (pokud je zkomprimovaná, pak bude nejdříve potřeba si rozbalit a nahrát ji jako soubor, ne jako URL).

1 OpenRefine

Klikněte na Next a zobrazí se vám náhled strukturovaných dat v Sitemapě. My chceme zjišťovat jen metriky k URL adresám, takže nás zajímá jen obsah značek <loc>, klikněte na řádek s loc.

4 extrakce loc

Klikněte na Create project. Podle velikosti sitemapy zkoumaného webu vám může sondování adres kratší či delší chvíli trvat. Finální výstup by měl vypadat nějak takto:

5 finalni export sitemapy

Pokud OpenRefine nemáte, nechcete nebo nedokážete zprovoznit (kvůli různým systémovým omezením pro instalace a zápis souborů, typicky u větších firem s nějakým bláznivým zabezpečením), můžete si URL zkoumaného webu natahat odjinud. Buďto si je vyextrahovat přímo ze sitemapy chytrým ořezáváním značek nebo za použití specializovaného crawlera jako je Xenu Link Sleuth nebo Screaming Frog.

Pro SF by postup vypadal takto: zadejte URL zkoumaného webu. Nejprve pro jistotu omezte rychlost procházení crawlera a počet vláken – větší weby „zvyklé“ na různé sosání a vykrádání by vám jinak mohly proces brzy zaříznout, pokud budete odesílat příliš mnoho dotazů příliš rychle. Klikněte na Configuration -> Speed.

7 limit speed

2-3 vlákna po 5 URL najednou by měly být ok pro většinu webů. Půjde to sice pomaleji, ale na jistotu. Jelikož budeme chtít obvykle pouze metriky pro hlavní stránky, je rozumné hlavně u větších webů rovnou vyloučit obrázky a podobné doplňkové. V Configuration -> Exclude vepište adresáře s obrázky, které nechcete procházet.

2 export exclude

Dále klikněte na Run a nechte web nacrawlovat. Zase to může podle velikosti webu chvilku trvat, velké weby se desítkami / stovkami tisíc URL adres mohou trvat i den. Pro velké objemy se vyplatí přidělit Screaming Frogu více RAM, aby data vůbec dokázal namapovat. Hotové mapování vyexportujte do .csv nebo .xls souboru a nahrajte do Open Refine jako soubor.

3 export SF hotovy

 

Při vkládání z .csv pozor na kódování znaků (v boxíku character encoding si nastavte správné). U exportu ze Screaming Frogu bude také potřeba při vkládání ignorovat první žádek s názvem exportu (nebo jej následně odmazat).

8 import SF do Refinu

2. Získejte data

Nejprve bude potřeba zjistit, v jakém formátu se budeme SharedCount přes API ptát. Potřebujem znát:

  • vaši API URL (záleží na úrovni služby, kterou používáte)
  • váš API klíč

Obojí zjistíte v záložce Account. Pokud účet nemáte, můžete si ho během minutky založit zdarma. Základní limit je 10.000 URL adres k prozkoumání.

9 Shared Count interface

Vraťte se do OpenRefine, klikněte na šipku u názvu sloupečku s nasbíranými URL adresami a vyberte „Edit column -> Add column by fetching URLs

10 add by fetching

Namísto value vepíšeme dotazovací URL ve fomátu

'http://api.sharedcount.com/?url=' + value + '&apikey={APIklic}'

kde namísto APIklic copy/pastněte číslo vašeho API klíče. Throttle delay v případě API můžete klidně nastavit na 1 (jde o rychlost, s jakou se bude OpenRefine APíčka ptát), sloupeček nezapomeňte vhodně pojmenovat.

11 dotaz na API

 

U větších webů bude možná potřeba chvíli počkat. Nahoře se vám ukáže žlutý obdéník se stavem dotazování. Pozor, například u (nejen) Internet Exploreru často nevyskočí nic – nelekejte se, Open Refine pracuje, jen bývá zablokovaný ten boxík :-)

12 API sosani

Konečný výstup by měl vypadat zhruba takto:

13 hotove API

3. Parsování dat z JSONu

Poslední co nám zbývá je vyříznout si hodnoty pro jednotlivé sociální sítě. Výstup jsme dostali v JSONu s nímž naštěstí umí Open Refine krásně pracovat, takže si teď metriky jedno po druhé vytaháme.

Ptát se budeme pomocí příkazu

value.parseJson()["Nazev"]

kde Nazev nahradíme za název sociální sítě podle výstupu. Pro české weby nás bude zajímat například:

  • Likes na Facebooku:  value.parseJson()[„like_count“] 
  • Shares na Facebooku: value.parseJson()[„share_count“]
  • +1ky na GooglePlus: value.parseJson()[„GooglePlusOne“]
  • Mentiony a retweety URL na Twitteru: value.parseJson()[„Twitter“]

Příklady budeme vkládat tak, že si klikneme na šipku u názvu sloupce s daty s API (jak jste si ho předtím pojmenovali) a klikneme na Edit column -> Add column based on this column, zvolíme název nového sloupce podle metriky (sociální sítě), kterou chceme parsovat a vložíme místo value připravný parsovací příklad.

14 export social metrik

Klikněte na ok a voilá – máte oddělený sloupeček s metrikami :-)

15 hotovy Twitter

4. Použití

Jakmile si vytaháte vše, po čem srdce analytikovo touží, můžete si celý projekt vyexportovat ven jako tabulku16 export

Pak už je jen na vás, jak si s daty budete hrát. Pár příkladů, jak používám data já pro své klienty:

  • Tematické rešerše konkurence: které jejich stránky mají úspěch, jsou „hot“?
  • Kterým našim stránkám se daří (přitlačit na téma) / nedaří (opravit, konsolidovat)?
  • Kteří redaktoři dokáží vydolovat největší míru interakce?
  • Sdílení versus konverze versus jiné metriky v obsahovém auditu webu
  • Další vstup do analýzy klíčových slov

 

UPDATE 10.4.2015 – vřelé díky za přispění Honzovi PávoviLovebrand

SharedCount musel před nějakou dobou změnit své API, zřejmě z důvodu monetizace platformy. Asi proto se změnily URL adresy, které je třeba při získávání dat volat. Pokud používáte free verzi, URL adresa jehttps://free.sharedcount.com/ (více v dokumentaci API). Podle specifikace přístupového bodu pro získání dat o sdílení je pro potřeba přidat jen dva parametry – URL a API klíč (ve tvaru https://free.sharedcount.com/url&apikey={váš_api_key}). Jenže to v Open Refine nefunguje. Po drobném testování je funkční tato dotazovací URL:

‚https://free.sharedcount.com/?url=‘ + value + ‚&apikey={váš-api-key}‘

 

Ostatní funguje stále stejně.

 

Dá se postup zjednodušit? Znáte rychlejší metodu? Něco vám nefunguje? Ozvěte se v komentářích!

Na závěr velké díky Filipu Podstavcovi, bez jehož školení Open Refine bych to možná nikdy nenapsal :-)

 30.8.2014 napsal Lukáš Pítra

Komentáře 6 Přidat komentář

  1. Míša napsal:

    Díky Lukáši, moc ráda vyzkouším. :)

  2. Určitě vyzkouším, díky :)

  3. Václav Konáš napsal:

    Super článek, jako vždy.

    Jen poznámka k parsování Facebook dat z JSONu, zápis by měl správně být value.parseJson()[„Facebook“][„like_count“], value.parseJson()[„Facebook“][„share_count“].

  4. Wolferine napsal:

    Díky za článek, určitě vyzkouším:)

  5. vlado napsal:

    bohužiaľ, nefunguje to ani po update. chybová hláška:
    Parsing error at offset 0: Missing number, string, identifier, regex, or parenthesized expression

  6. Misha napsal:

    Zkousela jsem to vselijak, ale bohutel aktualne vzorec nefunguje. Skoda!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Další podobné články