» »

Kopiranje iz ene strani na drugo stran

Kopiranje iz ene strani na drugo stran

a-ptuj1 ::

Pozdravljeni,

Želel bi, da se mi sprotno kopira nek podatek iz ene spletne strani na drugo (seveda bom prvotno stran navedel kot vir podatka).

Na primer, želim kopirati samo podatek o temperaturi (npr:36°C) in zračnem tlaku (npr: 1008 hPa) v Mariboru iz spletne strani ARSO http://www.arso.gov.si/vreme/napovedi%2... na mojo spletno stran. Sem po forumih iskal ter spoznal, da to gre le z skripto v PHP.

Poznam le HTML in Javascript, PHP pa ne. Zato bi Vas lepo prosil, če mi lahko kdo pomaga kako se to naredi s PHP kodo. Najlepša hvala že v naprej.
  • spremenilo: a-ptuj1 ()

urosz ::

do kot si prišel, kje se ti ustavi?

drugače pa maš 2 možnosti:
1) sparsaš ta vir ki si ga navedel
2) z xpath-om dobiš željeni podatek iz xml-ja ( http://meteo.arso.gov.si/uploads/probas... )

2. opcija je dosti lažja, boljša, hitrejša

Zgodovina sprememb…

  • spremenil: urosz ()

urosz ::

Evo ker sem dobre volje:

<?php

$xml = simplexml_load_file("http://meteo.arso.gov.si/uploads/probase/www/observ/surface/text/en/observation_si_latest.xml");

$result = $xml->xpath("metData[domain_meteosiId='MARIBOR_SLIVNICA_']/t");

echo "V Mariboru je ".$result[0]."°C";

?>

MrBrdo ::

Ne vem če obstaja v PHPju, ampak meni je ljubše to delat s CSS selektorji namesto XPath-om. V Rubyju se da bp :)
MrBrdo

a-ptuj1 ::

Najlepša hvala urosz

Ker sem popolni nepoznavelac PHP, prosim za še en odgovor. Ali moram vedno najti stran z končnico xml, ali lahko morda tudi iz html strani naprimer te http://vreme.prelog.org/current.html

<?php
$html = simplexml_load_file("http://vreme.prelog.org/current.html");
$result2 = $html->xpath("Array(5,3)");
echo "Zunanja temperatura je ".$result2[0]."°C";
?>


Podatek o trenutni temperaturi se nahaja v 5 stopcu, 3 vrstici

Zgodovina sprememb…

  • spremenilo: a-ptuj1 ()

jeryslo ::

Kot je že nekdo omenil toda podal samo naslov XML datoteke ima ARSO na voljo spletne storitve v treh različnih formatih. Še povezava, da se ne bo kdo še kdaj matral z branjem iz običajnega html dokumenta:
http://meteo.arso.gov.si/met/sl/service/

drola ::

MrBrdo je izjavil:

Ne vem če obstaja v PHPju, ampak meni je ljubše to delat s CSS selektorji namesto XPath-om. V Rubyju se da bp :)

phpQuery
https://drola.si

technolog ::

Opcija je tud da daš iframe in ga potem relativno pozicioniraš in skriješ odvečne zadeve. Simpl v bistvu.

Če se nočeš matrat s php, seveda potem odpade marsikatera customizacija.

urosz ::

@a-ptuj1: Ne gre to tak, malo si poglej kak se pišejo xpath poizvedbe.

technolog pa MrBrdo komplicirata. pa saj ta xml pa rss format sta na arsotu glih zato, da se ju uporabi, če rabiš podatke o vremenu. pa zakaj bi delal s css selektorji, ker nikoli ne veš kdaj bodo šli spremenit kak css ali karkoli. na voljo so goli podatki v xml-ju in tam niso za brezveze.

technolog ::

Pa če je človk reku da noče met opravka s server side jezikom, kaj ti ni jasno. Lah da nima tega na serverju, BV špekulirat.

Pa tud če bi to naredu je treba stvar cacheirat nekam, ne boš valda za vsak pageload delal requesta. Stvar ni tok simpl ko zgleda za začetnika.

urosz ::

preberi še 1x nejgov post. napisal je
Zato bi Vas lepo prosil, če mi lahko kdo pomaga kako se to naredi s PHP kodo.


ja stvar se "cache-ira" tako, da na vsakih 15min, kot oni osvežujejo podatke, preneseš novo xml verzijo k sebi, in vse poizvedbe delaš na svojem lokalnem fajlu.

technolog ::

Aja, pa res. :)

Pol je pa res sam drugi del. Ni tok simpl. Treba bo cachirat bodisi na disk (nastavljanje pravic), bodisi v bazo (še več kompliciranja).

Point: Tud če mu kdo spiše kodo bo imel še vedno težave.

ps.: urosz, parsanje XML ni poceni, ob vsakem pageloadu to delat tud ni ravno super. Cachirat je treba vrednost/številko.

Zgodovina sprememb…

urosz ::

aja no zdaj če rabimo vedno le podatek o temperaturi v MB, nikoli nič drugega, pol na 15 min ta podatek izluščimo in ga damo v bazo pa je to to ;) meni se sliši simpl.

a-ptuj1 ::

Jaz se največ naučim, če vidim napisano kodo, ki dela. Iz @urosz kode PHP sem spoznal naslednje:
- najprej je potrebno določiti pot do podatka
- ugotoviti katere besede v kodi gredo skupaj, enako kot pri javascripti
- nato je potrebno izbrskati in definirati kje je ta podatek, ki ga želiš kopirati
- naučiti se definirati zadevo (poti in poizvedbe),
- na koncu pa ga izpisati
A se morda motim pri tem, kar sem spoznal iz napisane kode?

Večinoma pa najdeš odgovore samo v obliki nekih namigov, s katerimi si navadno ne moreš nič pomagati, ker če bi vedel kako se napiše neka koda nebi spraševal o tem. Še enkrat najlepša hvala @uroszu.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

pobiranje podatkov z spleta

Oddelek: Pomoč in nasveti
81615 (1472) andromedar
»

Vreme v Sloveniji

Oddelek: Izdelava spletišč
71263 (1142) HardFu
»

Ocenite mojo stran za vreme

Oddelek: Izdelava spletišč
292586 (1670) Kekec
»

vremenska karta

Oddelek: Izdelava spletišč
214468 (4137) misko62
»

DDoS na vreme! (strani: 1 2 )

Oddelek: Novice / --Nerazporejeno--
686863 (6863) darkolord

Več podobnih tem