DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   fetch podataka sa drugih sajtova (http://www.devprotalk.com/showthread.php?t=10060)

webarto 10. 06. 2011. 22:26

Kad odeš na onaj link, otvori HTML source (desni klik), imaš embedovan ovaj SWF, sa ovim parametrima u kojima su podaci. Što se tiče RegExp...

PHP kôd:

#"http://w2u.cdn.rs/modules/mod_w2u_city_weather/meteogram.swf?(.*?)"#is 

Vratiti će ti čitav URL u $matches[0], a u $matches[1] će ti biti ovi parametri što je gore navedeno unutar (.*?) (match any character zero or more times ungreedy).

Ovo ne moraš da mjenjaš, jedino što trebaš su novi linkovi sa novim gradovima. Može se sve to fino napraviti da radi samo ali ima mnogo posla.

Još jednom uzmi onaj link sa tabelom gdje je human readable, ovo sam ja skontao šta predstavlja ali ono ti je lakše :)

slavkan 10. 06. 2011. 22:30

zahvaljujem

Br@nkoR 10. 06. 2011. 22:37

Na brzinu
izvlačenje samo određenog podatka,(određeni sat) sa linka koji sam ostavio:
PHP kôd:

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTMLFile('http://www.weather2umbrella.com/sr/vremenska-prognoza-belgrade/eta/1/1924284/0/1h');
$xpath = new DOMXPath($dom);

$hourly_row $xpath->query("//div[@class='hourly_row'][div='" date('G') . ":00']"); 
foreach(
$hourly_row->item(0)->childNodes as $field) {
  if(
$field->hasChildNodes() AND $field->childNodes->item(0)->nodeName == 'img') {
    echo 
'<img src="' $field->childNodes->item(0)->getAttribute('src') . '" /> ';
  } else {
    echo 
$field->textContent ' || ';
  }


ili svih:
PHP kôd:

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTMLFile('http://www.weather2umbrella.com/sr/vremenska-prognoza-belgrade/eta/1/1924284/0/1h');
$xpath = new DOMXPath($dom);

$hourly_row $xpath->query("//div[@class='hourly_row']"); 
foreach(
$hourly_row as $row) {
  
$fields $xpath->query("div[@class='hourly_row_field']"$row);
  foreach(
$fields as $field) {
    if(
$field->hasChildNodes() AND $field->childNodes->item(0)->nodeName == 'img') {
      echo 
'<img src="' $field->childNodes->item(0)->getAttribute('src') . '" /> ';
    } else {
      echo 
$field->textContent ' || ';
    }
  }
  echo 
'<hr />';


Ti možeš da ubaciš cURL za dovlačenje sadržaja.

webarto 10. 06. 2011. 22:51

PHP kôd:

$html curl('http://www.weather2umbrella.com/sr/vremenska-prognoza-belgrade/eta/1/1924284/0/1h');
preg_match_all('#<div class="hourly_row"(.*?)</div></div>#is'$html$matches);
$matches implode(""$matches[0]);
echo 
$matches

Zašto komplikovati :D

Br@nkoR 10. 06. 2011. 23:25

A može i tako :)

Da, hvala, znam da može i tako, želeo sam samo da pokažem primer upotrebe funkcija/ekstenzije koje su namenjene radu sa html/xml-om odnosno strukturiranim podacima. Možda se ranije susretao sa radom kroz DOM, npr. JavaScript.

webarto 10. 06. 2011. 23:30

Ma šalim se, ne treba tako, pravilno je kako si ti napisao ;) RegExp će da pukne u većini slučajeva.

slavkan 11. 06. 2011. 00:50

wow vi se sprdate sa ovim :))))

Pade mi sad jedna fora na pamet. Recimo status sa facebook-a ili twitera vrlo lako moze da se preuzme sa pomenutih sajtova i da se postuje na primer na nekom drugom sajtu. Gledao sam to za twiter ali nisam zagledao u kod kako je napravljeno, verovatno ovako !

AdriaMart 11. 06. 2011. 23:07

Kako ide funcija str_replace od % (procenat) $text = str_replace ("%", "", $text); ne daje nikakve rezulate a takodje sam pokusao i $text = str_replace ("%", "Percent", $text); ?

webarto 11. 06. 2011. 23:15

Nema šta da ne radi, probaj sa jednostrukim navodnicima i uradi echo varijable prije i poslije...

AdriaMart 12. 06. 2011. 02:24

Kako da se pri preuzimanju podataka predstavim kao korisnik koji npr. koristi mozilu, windows i sl.

i takodje ako moze neko da mi pomogne da zamenim infowindow koji se dobija klikom na marker layerom ?


Vreme je GMT +2. Trenutno vreme je 20:45.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.