Avatar
Pumba
Člen
Avatar
Pumba:

Ahoj, omlouvám se pokud jsem vybral špatnou kategorii, ale s tvorbou webu nemám moc velké zkušenosti (html, CSS a základy JavaScriptu).

Potřeboval bych poradit, jestli lze nějak brát data z cizího webu a třeba každou hodinu je aktualizovat. jedná se mi pouze o cenu produktů. Tuším, že lze použít soubory XML/CSV, ale né každý web je zveřejňuje.

Předem děkuji za jakoukoliv radu.

Odpovědět 12. srpna 18:37
hrylevnecz@gmail.com
Avatar
VitekST
Člen
Avatar
Odpovídá na Pumba
VitekST:

(hádám, že máš server s Linuxem, neboli LAMP)

Základem je CRON úloha - CRON je démon v Linuxu, který spouští jakékoliv úlohy v jakémkoliv intervalu, něco jako Plánovač úloh ve Windows.

Spusť příkaz:

crontab -e

Otevře se ti tvůj preferovaný textový editor.
Co řádek, to úloha, úloha se zapisuje ve tvaru:

minute hour day month day-of-week command-line-to-execute

(zdroj: http://www.thesitewizard.com/…on-job.shtml )

Věc druhá: V jakém formátu ten daný E-Shop dává ven informace, jestli vůbec dává?
Pokud neprovádíš žádnou špionáž, nebylo by od věci vlastníka E-Shopu kontaktovat a na to nějaké API se poptat.

Jestliže máš šanci dostat data ve strojově čitelném formátu (tj. JSON, XML, CSV, případně jako jednoduchá HTTP odpověď), je to jednoduché, zeptáš se serveru (curl ti pomůže HTTP požadavek odeslat), získáš si parser, proparsuješ odpověď serveru, vylovíš z výstupu parseru hodnotu a s ní si potom děláš do chceš. (v případě že se jedná o obyčejnou HTTP odpověď nemusíš nic parsovat, to si ale myslím že je jasné)

Pokud ale data ve strojově čitelném formátu nemáš šanci dostat (třeba to je špionáž), budeš muset parsovat HTML kód.

Je to poněkud složitější, ale ne nemožné.
Potřebuješ tzv. DOM parser, neboli něco, co HTML převede na strom elementů, ze kterého si potom můžeš vybírat jakékoli elementy potřebuješ.

Například: http://simplehtmldom.sourceforge.net

Editováno 12. srpna 20:01
 
Nahoru Odpovědět 12. srpna 19:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.