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)

AdriaMart 09. 06. 2011. 15:26

Uf izvinjavam sto sam gnjavio ... sad sam video da ponuda zavisi od grada za koji se opredelite...

AdriaMart 09. 06. 2011. 18:15

Zasto ovaj kod:
<meta content='$33 for Hot Tubbing, 30-Minute Massage, and Sauna Time at Shibui Gardens Outdoor Spa in San Anselmo ($67 Value)' property='og:title' />

nije moguce izvuci komandom:

$data['naslov'] = trim($xpath2->query("//meta[@content='og:title']")->item(0)->textContent);

?

HELP

webarto 09. 06. 2011. 18:17

Valjda meta[@property ... gnjaviš :)

Br@nkoR 09. 06. 2011. 18:26

A šta treba da se izvuče
Kôd:

//meta[@property='og:title']/@content

AdriaMart 09. 06. 2011. 21:50

Dobio sam koordinate ali sa navodnicima ('50.677689') Kako da izbacim navodnike?

MorenoArdohain 09. 06. 2011. 22:07

Off Topic:
Cekam da vidim kada cete odustati :)

webarto 09. 06. 2011. 22:09

Rtfm :seljak:

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

Npr.
PHP kôd:

$string "'50.677689'";
$novi_string str_replace("'"""$string);
echo 
$string ' -> ' $novi_string


AdriaMart 09. 06. 2011. 23:25

Hvala puno svima koji su pomogli... ovde je malo moj a vise rad Branka i ostalih
http://kuponik.adriamart.com e sad mogu li nekako pri preuzimanju podataka da se predtstavim kao korisnik a ne server koji preuzima sadrzaj?

conica 10. 06. 2011. 00:10

Off Topic: a da ti lepo das oglas da ti neko uradi i posle analiziras kod? ;)

AdriaMart 10. 06. 2011. 00:17

Off topic : Ovo pre svega radim da bih nesto naucio a ne da napravim sajt koji ce mi doneti neke parice ... da sam mislio sve ovo ozbiljno platio bih nekom da odradi ali posto nema nikakve koristi od ovakovog tipa sajta resio sam probam sam da vidim kako ce ici. Do sada sam radio samo dizajn i eventualno neke prepravke koda dok neko ozbilnije programiranje nisam! Pozdrav!

slavkan 10. 06. 2011. 14:37

Citat:

Originalno napisao webarto (Napišite 99621)
Imaš u ovom URLu sve podatke samo treba da skontaš kako su upareni i eto ti riješenje... Mislim nemaš šta da kontaš, izvuci svaki parametar u array, uradi count, loop, i print, i sve će se samo složiti...

Kojom naredbom si dosao do ovih podataka ? Ovo je za mene novina a imam zelju da savladam tako da samo malo razumevanja trazim ;)

AdriaMart 10. 06. 2011. 15:32

Imas na pocetku kod ... kako da uz pomoc cURL-a izvuces podatke... pogledaj prvu stranu sa postovima.

slavkan 10. 06. 2011. 21:42

Citat:

Originalno napisao webarto (Napišite 99621)
Imaš u ovom URLu sve podatke samo treba da skontaš kako su upareni i eto ti riješenje... Mislim nemaš šta da kontaš, izvuci svaki parametar u array, uradi count, loop, i print, i sve će se samo složiti...

Citat:

Originalno napisao AdriaMart (Napišite 99671)
Imas na pocetku kod ... kako da uz pomoc cURL-a izvuces podatke... pogledaj prvu stranu sa postovima.

Kôd:

Call to undefined function curl()
Kako je omoguciti, radim u lokalu?

Br@nkoR 10. 06. 2011. 21:49

http://www.devprotalk.com/showpost.p...8&postcount=10

webarto 10. 06. 2011. 21:55

PHP kôd:

<?php
function curl($url){
        
$ch curl_init();
        
curl_setopt($chCURLOPT_URL$url);
        
curl_setopt($chCURLOPT_ENCODING"gzip");
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$data curl_exec($ch);
        
curl_close($ch);
        return 
$data;
}

$html curl('http://www.weather2umbrella.com/ba/vremenska-prognoza-belgrade/eta/1/1924284/0/meteogram');

preg_match('#"http://w2u.cdn.rs/modules/mod_w2u_city_weather/meteogram.swf?(.*?)"#is'$html$matches);
$string $matches[1];

echo 
$string;

Mislim da je to to ali nisam testirao. Bolje ti je onu tabelu da parsiraš.

slavkan 10. 06. 2011. 22:02

Citat:

Originalno napisao webarto (Napišite 99699)
PHP kôd:

<?php
function curl($url){
        
$ch curl_init();
        
curl_setopt($chCURLOPT_URL$url);
        
curl_setopt($chCURLOPT_ENCODING"gzip");
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$data curl_exec($ch);
        
curl_close($ch);
        return 
$data;
}

$html curl('http://www.weather2umbrella.com/ba/vremenska-prognoza-belgrade/eta/1/1924284/0/meteogram');

preg_match('#"http://w2u.cdn.rs/modules/mod_w2u_city_weather/meteogram.swf?(.*?)"#is'$html$matches);
$string $matches[1];

echo 
$string;

Mislim da je to to ali nisam testirao. Bolje ti je onu tabelu da parsiraš.

jeste kada ja jos nebi bio maler:

Kôd:

Call to undefined function curl_init()

webarto 10. 06. 2011. 22:05

Nije ti Apache kompajliran sa cURL ili ga nema uopšte, pronađi na netu kako da to uradiš, obično serveri to već imaju sve sređeno...

slavkan 10. 06. 2011. 22:07

upravo guglam, nasao sam nesto pa cu da pokusam !

slavkan 10. 06. 2011. 22:16

Uspeo sam da eneblujem php_curl()

Jos jedno kratko pitanje:

Kôd:

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

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 ?

Miroslav Ćurčić 12. 06. 2011. 11:21

Svaki browser se predstavlja svojim UserAgent zapisom, recimo ovako izgleda FF4 na Win7:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

AdriaMart 13. 06. 2011. 20:39

Hvala na pomoci!

webarto 13. 06. 2011. 20:51


AdriaMart 16. 06. 2011. 15:41

Hteo sam da se zahvalim pre svega Branku ali i ostalima koji su mi pomogli da napravim ovo: http://kuponik.adriamart.com

AdriaMart 05. 07. 2011. 17:09

Da li mogu da se izvuku koordinate odavde jer je rec o iframeu:


<div id="donji">

<div id="donjilevo">

<p class="lokacija">Lokacija</p>

<div id="googlemapa"><iframe width="258" height="259" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=27.+marta,+Be lgrade,+%D0%A6%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB %D0%BD%D0%B0+%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B0& aq=0&sll=37.0625,-95.677068&sspn=29.219963,86.572266&ie=UTF8&hq=&hne ar=Dvadesetsedmog+marta,+Palilula,+Belgrade,+City+ of+Belgrade,+Central+Serbia,+Serbia&ll=44.811436,2 0.473709&spn=0.015771,0.022058&z=14&iwloc=A&output =embed"></iframe><small></small></div>


Ja sam pokusao ovako ali neuspesno: $regex = '!\+Serbia&ll\=\s*(\d+\.\d+)\s*,\s*(\d+\.\d+)\!';
preg_match($regex, $dom2->saveHTML(), $match);
$data['lat'] = $match[1];
$data['lng'] = $match[2];

Koordinate koje treba da se izvuku su: 44.811436,20.473709

webarto 05. 07. 2011. 17:34

PHP kôd:

preg_match('#Serbia&ll=(.*?)&#is'$html$matches);
list(
$lat$lon) = explode(','$matches[1]); 


AdriaMart 05. 07. 2011. 17:51

Izvuce samo prvu koordinatu: tj. 44.34534 za lat a za lng '0' ... ne razdvaja ih kada ih prikupi
preg_match('#Serbia&ll=(.*?)&#is', $string, $matches);
list($lat, $lng) = explode(',', $matches[1]);
$data['lat'] = $matches[1];
$data['lng'] = $matches[2];

gde gresim?

webarto 05. 07. 2011. 17:53

Probaj...

PHP kôd:

$data['lat'] = $lat;
$data['lng'] = $lon


slavkan 28. 07. 2011. 15:29

Kad bi neko napisao neki kratki tutorijal na 2,3 strane o ovom fetchu podataka to bi bilo wow.

357_97 29. 07. 2011. 01:17

Citat:

Originalno napisao slavkan (Napišite 100862)
Kad bi neko napisao neki kratki tutorijal na 2,3 strane o ovom fetchu podataka to bi bilo wow.

Ljudi napisali celu knjigu o tome. Potrazi po netu php|architect's Guide to Web Scraping ili pogledaj link na amazonu!


Vreme je GMT +2. Trenutno vreme je 18:00.

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.