NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
IT rekvalifikace s podporou uplatnění. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!

Diskuze: Aktualizace dat z cizího webu

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Pumba
Člen
Avatar
Pumba:12.8.2016 18:37

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.

Avatar
VitekST
Člen
Avatar
Odpovídá na Pumba
VitekST:12.8.2016 19:58

(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.8.2016 20:01
 
Nahoru Odpovědět
12.8.2016 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.