Šuplík Honzy Hučína

Skok na navigaci (menu)

Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.

Komentovaný článek

Internet a vše kolem
20. 4. 2006

Oživení online (nejen) iDNES, 2. část

1. části jsme si ukázali, jak lze přinutit k automatickému obnovení online přenosy, které je normálně nemají. Teď si předvedeme, jak dostat do titulku stránky aktuální skóre.

Skóre v <title>

Aby nám stránka v titulku ukázala, jaký je aktuální stav, to už s pouhým HTML nepořídíme. Zde je potřeba:

  1. Nechat serverový skript načíst kód stránky s online přenosem.
  2. Analyzovat kód pomocí regulárních výrazů, najít v něm názvy týmů a skóre.
  3. Informace o týmech a skóre vypsat do elementu <title>.

Přitom není nutné, aby serverový skript odeslal uživateli celý kód. Původní stránka s online se může dále načítat pomocí iframe.

První úkol je snadný. Máme-li k dispozici PHP aspoň verze 4.3, můžeme použít funkci file_get_contents, která do proměnné načte HTML kód stránky s online přenosem.

K vyoperování týmů a skóre je potřeba vědět, kde tato informace bývá v kódu. V případě fotbalových přenosů iDNES jsou názvy týmů obklopeny tímto:

<td class="tac m" width="33%"><a href="nejaky odkaz">název týmu</a></td>

Příslušný regulární výraz tedy bude mít syntaxi:

|<td class="tac m" width="33%"><a href=[^>]*>([^<]*)<|

Obdobně skóre najdeme zde:

<td class="v">číslo</td>

a regulární výraz proto bude

|<td class="v">([^<]*)<|

Pomocí funkce preg_match_all se zjistí názvy obou týmů i čísla vyjadřující skóre (u skóre jsou odpovídající řetězce tři, jedním z nich je dvojtečka). A do titulku si pak už můžeme zapsat cokoliv. Třeba

echo "$tym_d $skore_d:$skore_h $tym_h";

kde $tym_d, $tym_h jsou názvy týmů (případně zkrácené) a $skore_d, $skore_h počty vstřelených branek. Titulek pak může vypadat takto.

Zde je kód celé stránky psaný v PHP (textový soubor). Funguje pro fotbalové online na iDNES, dá se ale modifikovat i pro jiné přenosy.

Vložit vlastní komentářNávrat k článkuRSS komentářů tohoto článku

Komentáře

[1] 20. 4. 2006, 15:41 – Jakub Vrána (Odkaz)

Nedalo by se to podobně snadno řešit i klientským JavaScriptem?

[2] 21. 4. 2006, 08:52 – Honza Hučín (Odkaz)

Ad [1]: Možná ano, o tom jsem nepřemýšlel. Vida, to by ušetřilo načítání pro serverový skript.
Umí ale Javascript analyzovat zdrojový kód? Pokud by ty údaje byly dohledatelné v nějakém DIVu s ID, použilo by se jednoduše getelementbyid().innerHTML, ale takhle nevím...

[3] 27. 4. 2006, 09:37 – Michal Berg (Odkaz)

Díky za pochvalu našich online přenosů v článku http://suplik.petnik.cz/co-ma-mit-sportovni-prenos-online-qxxq559.html

Pár vysvětlení: 120 vteřin je nastaveno víceméně z výkonostních důvodů, původě tam byla možnost si zvolit i kratší refresh, nicméně zátěž serveru byla obrovská, proto jsme museli ustoupit na 120 vteřin. Nicméně pokud malinko prozkoumáte tu stránku s online přenosem a její odkazy, tak zcela jistě najdete způsob, jak si nastavit refresh podle svého uvážení. Berte to jako kvíz :)

A abych vás navnadil, od nové sezóny se u nás budete setkávat i s fotbalovými přenosy a pokud všechno vyjde, budete moci na našich online přenosech sledovat už i fotbalové MS. Navíc chystáme výrazné technologické vylepšení přenosů, které je jak doufáme ještě vylepší.

A s tím tvrzením, že iDnes je největší poskytovatel online přenosů u nás bych byl také opatrný, přece jen 5 ligových souěží, play-off včetně mládežnických lig a všechny zápasy mezinárodních hokejových tunajů dají za rok slušnou porci zápasů :)

K tomuto článku není možné vkládat komentáře.

© Honza Hučín 2004–6

Šuplík běží na PIPNI.CZ. Díky!

sber.cermat.cz

RSS Šuplíku

RSS komentářů – souhrnně

U každého článku je samostatný RSS kanál pro komentáře.

Výběr článků

Posledních 10 článků

nebo podle data:

nebo hledání fulltextem:

Archiv všech článků

Poslední komentáře

Zabili mě, parchanti [2]

8. 8. 16:48 | Pepa

Cestou kolem blogu [2]

7. 8. 21:26 | Honza Hučín

Cestou kolem blogu [1]

7. 8. 21:02 | Honza

Vrtulník nad hlavou [3]

6. 8. 14:29 | Pepa

Taková hra na volby [1]

3. 8. 18:29 | Honza

Nejčtenější

Žádné údaje nejsou k dispozici.

O mně

*1967, absolvent MFF UK v Praze (1991)

statistik, analytik, programátor, učitel, hudebník

nyní Ústav pro informace ve vzdělávání

Životopis (RTF)

Napište mi