Parse podatkov iz Arsove strani

Kako bi s strani http://www.arso.gov.si/vode/podatki/stanje_voda.html dobil vrednosti: Vodostaj, pretok in temperatura za konkretno postajo (Soča Log Čezsoški) ?

Vrednosti bi se izpisale s pomočjo PHP modula v Joomli.

Verjetno bi se dalo z @preg_match in echo ukazom, samo ne vem kako bi zastavil celoten skript.

Tole je del izvorne kode kjer se nahajajo navedene 3 vrednosti:

<tr><td class="onlineimena">Soča - Log Čezsoški</td><td class="onlinedesno">79</td><td class="onlinedesno">13.9</td><td class="onlinedesno"> </td><td class="onlinedesno">9.1</td><td class="onlinedesno">4.</td></tr>

Kakšen namig ?

45 odgovorov

Kako bi pa naj izgledala koda za tole:

http://www.meteo.si/uploads/probase/www/observ/surface/text/sl/observationAmssilatest.xml

Recimo, da želimo izluščiti podatke le za Celje, Ljubljano in Maribor

Glede na to, da se tukaj piše o parsanju bom kar tukaj vprašal.

Probal sem že vse možnosti opisane na 1. strani vendar mi nekako ne gre :)
Rad bi sparsal: ceno, vseeno katero, 1 ali 2.

http://informers.mt5.com/en/quotesonline/informer/sz=54020&ticker=NZDCHF

lahko uporabiš YQL, kateri ti vrne JSON ali XML s podatki katere rabiš

za tvoj primer link

direkt link do jsona

1

Če prav razumem moram sedaj kodo:

<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
    yahoo:count="2" yahoo:created="2013-10-15T19:54:30Z" yahoo:lang="en-US">
    <diagnostics>
        <publiclyCallable>true</publiclyCallable>
        <url execution-start-time="0" execution-stop-time="333" execution-time="333"><![CDATA[http://informers.mt5.com/en/quotes_online/informer/sz=540_20&ticker=NZDCHF]]></url>
        <url execution-start-time="0" execution-stop-time="333" execution-time="333"><![CDATA[http://informers.mt5.com/en/quotes_online/informer/sz=540_20&ticker=NZDCHF]]></url>
        <user-time>335</user-time>
        <service-time>664</service-time>
        <build-version>0.2.1867</build-version>
    </diagnostics>
    <results>
        <td class="lines">
            <p>0.7638</p>
        </td>
        <td class="lines">
            <p>0.7648</p>
        </td>
    </results>
</query>

shraniti v XML, ter potem iz PHP-ja klicati ta XML?

lahko raje probaš direkt json pridobit pa potem samo decodiraš json v php array.

$rest_json = file_get_contents("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Finformers.mt5.com%2Fen%2Fquotes_online%2Finformer%2Fsz%3D540_20%26ticker%3DNZDCHF%22%20%0Aand%20xpath%3D'%2F%2Ftable%5B%40class%3D%22mt5_quotes_table%22%5D%2Ftr%2Ftd%5B%40class%3D%22lines%22%5D'&format=json&callback=");
$rest_vars = json_decode($rest_json, true);
1