NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: JSON pro získání dat z jiné stránky do WP?

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

Aktivity
Avatar
tbartolen
Člen
Avatar
tbartolen:14.2.2016 23:07

Ahoj,
Nejsem nijak zběhlý programátor, znám opravdu jen základy PHP, JAVA a Pythonu (+HTML a CSS). Chtěl bych ale do své wordpress šablony načítat do tabulky data z jiné stránky. Už kdysi jsem tu řešil, že by to mohlo jít přes JSON...ale vůbec nevím jak. Existuje případně jiný jednodušší způsob? Děkuju za rady

Odpovědět
14.2.2016 23:07
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na tbartolen
Neaktivní uživatel:15.2.2016 0:09

Ta cizí stránka povoluje volání své api z jiných webů? Nebo dokonce, má ta cizí stránka na ta tabulková data nějaké jednoduché api ? Pokud má a podporuje pak zjistit v jakém formátu ta data odevzdává. Pokud má api ale nepodporuje cizí weby tak pro tebe jako by žádné api neexistovalo. Budeš v situaci kdy vezmes svoje phpcko stáhneš si tu cizí stranku, naparsujes a data posles klasicky jako zbytek obsahu. To bude humus ale nedá se svítit.

Api může být dvojí: jedno jen pro jsonp (cross site scripting) druhé obyčejné s allow origin headerem pro všechny (nebo hlavně pro tebe). Oboje je schůdný jen to druhý je hezčí.

Pokud bys to náhodou zapomněl zmínit a bylo by to tak, že ta druhá stránka je vlastně tvoje a máš možnost ovlivnit podobu dat a tvar api, pak máš o dost snazší život.

Ve své odpovědi zminuju hlavně JS řešení, nicméně není to nutnost, eventuálně se dá zavolat to api pomocí PHP a podobně.

Taky se do JS řešení musí zapojit AJAX, může worker api, ale to jen pokud to api není jednoduše jen na ta tabulková data, pak bych prostě udělal vlákno na http request a vyparsoval data z api mimo hlavní kontext, aby to bylo smooth.

Takže, pro nedostatek informací ti dávám univerzální otevřenou odpověď. Pokud chceš vědět víc, dodej info.

Nahoru Odpovědět
15.2.2016 0:09
Neaktivní uživatelský účet
Avatar
tbartolen
Člen
Avatar
Odpovídá na Neaktivní uživatel
tbartolen:15.2.2016 0:17

Jde o tohle, mám stránku http://skkelti.cz/. Ze stránky http://hokejbal.cz/1-liga/tabulky/ by jsme chtěli nějakým způsobem dostat tabulku na naše stránky tak, aby jsme jí nemuseli po každém kole ručně upravovat. Než jsem si přečetl tvojí odpověď , dostal se mi do rukou XML soubory na adresách:
http://www.hokejbal.cz/…s/185_br.xml
http://www.hokejbal.cz/…s/185_hr.xml
http://www.hokejbal.cz/…ules/185.xml
http://www.hokejbal.cz/…bles/185.xml
http://www.hokejbal.cz/…/3100001.xml

Ovšem i z pohledu laika vidím, že jich asi polovina nefunguje, nehledě na to, že bych nevěděl jak XML použít. Proto mě napadl JSON...stránka SK Kelti běží na wordpressu a tvoje odpověď ohledně api a dalších kouzelných termínech a zaříkadlech mi nedává moc naději na to, že bych to chtěl začít zkoušet...nejsem si jistý jestli by to pro mě nebylo 40 hodin práce s nejistým výsledkem...ne­existuje doopravdy nějaké jednoduché řešení?
Děkuju

Nahoru Odpovědět
15.2.2016 0:17
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na tbartolen
Neaktivní uživatel:15.2.2016 0:42

Tak já na tebe půjdu zvolna. :-)

Nehledě na systém na kterém jejich nebo váš web běží, buď jsou data k dispozici a nebo nejsou. Dál nehledě na systém buď jsou v XML json nebo csv atd... To si ty neurcis v čem bys ta data chtěl, to je určeno tím, jak jsou jejich webovky udělaný.

Pokud nemáš nic jinyho nez ta xmlka tak se budeš muset porvat s XML kem to se nedá svítit. Pokud navíc adresa k tomu XML souboru je pokaždý jiná a ty neznáš s určitostí klíč k její podobě pro případ že co zápas to nová XML tabulka jo tak to máš asi smůlu, to budes hledat ručně asi.

Na druhou stranu když máš ten WordPress tak tam je určitě sikovnej plugin na XML soubory takže budeš muset opravdu ručně stáhnout a nahrát ten XML soubor po souboru a sám to aktualizovat. Na druhou stranu nemusíš se učit šaškovat s XML.

A do třetice, můžeš jim napsat, jestli by ti ta data nedali nějak pohodlně, ale pozor na to, že pokud to chceš mít automatizovaný asi se budeš muset trochu zapotit/zakodit oproti tomu když to budes dělat pravidelně ručně, nebudeš se muset rvat s javascriptem/jsonem ani phpckem/XML ...

Závěrem chci říct, nebuď zklamaný že neexistuje žádné snadné řešení, ono totiž každé tohle snadné řešení musí někdo poctivě naprogramovat a vymyslet, můžeš to být třeba ty, orientačně těch 50 hodin je určitě strizlivej a hodně realnej odhad pokud to půjde ztuha... Ale taky to tady můžeš hodit jako zakázku, trochu si zaplatit a ušetřit čas. Tak jako tak něco tratit budes - čas a nebo peníze.

Ale když to uděláš sám, budeš mít dobrej pocit :-)

Editováno 15.2.2016 0:45
Nahoru Odpovědět
15.2.2016 0:42
Neaktivní uživatelský účet
Avatar
tbartolen
Člen
Avatar
Odpovídá na Neaktivní uživatel
tbartolen:15.2.2016 1:43

a nejde nějak oříznout iframe, aby zobrazoval jen ty části stránek které chci?

Nahoru Odpovědět
15.2.2016 1:43
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na tbartolen
Neaktivní uživatel:15.2.2016 11:02

Mimo to že je iframe špatná praktika ... Pravděpodobně to není nemožný, ale dle mého názoru by to bylo daleko komplikovanější než plugin na XML do WordPress. Musel bys ve framu zobrazit ten web podle adresy, a pak ho javascriptem ořezávat/redukovat, to je hnus zejo. (Nakolik to chápu tak, že samotný XML soubory framovat nechceš kvůli XML a nic jinyho než adresu té stránky k dispozici nemáš)

Možná by stálo za to se zamyslet nad PHP, tam by to šlo taky ale je to takovej hackovaci postup...

Nicméně všechno to je dost hardcore kvůli pár tabulkam, podle mě by to chtělo jim napsat a zjistit co můžou nabídnout.

Nahoru Odpovědět
15.2.2016 11:02
Neaktivní uživatelský účet
Avatar
tbartolen
Člen
Avatar
Odpovídá na Neaktivní uživatel
tbartolen:15.2.2016 15:00

Tam je to složitá politika kdy ta firma co ty stránky spravuje přestala existovat, takže není nikdo kdo by věděl jak to funguje, kromě redaktorů který maximálně napíšou článek do redakčního systému / vyplní tabulky, je to dost smutný.. každopádně děkuju za rady, udělal jsem si alespoň přehled o možnostech. Co se týče XML, pochopil jsem to dobře tak, že to je nějaký soubor, který bych si já stáhnul z té adresy kterou mám k dispozici, a pak z toho souboru načítal data do mých vlastních tabulek?

Nahoru Odpovědět
15.2.2016 15:00
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na Neaktivní uživatel
Vojtěch Pospíchal:15.2.2016 15:11

Vážně? Jak můžeš ořezávat obsah iframu? Same origin policy ti nic neříká že?

 
Nahoru Odpovědět
15.2.2016 15:11
Avatar
tbartolen
Člen
Avatar
Odpovídá na Vojtěch Pospíchal
tbartolen:15.2.2016 15:20

Mě to nic neřiká

Editováno 15.2.2016 15:21
Nahoru Odpovědět
15.2.2016 15:20
Navštiv www.fb.com/skkelticz
Avatar
Nahoru Odpovědět
16.2.2016 0:04
Neaktivní uživatelský účet
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 10 zpráv z 10.