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 07. 06. 2011. 12:03

Ne radi ...

<?php




$dom = new DOMDocument();
@$dom->loadHTMLFile('http://www.popusti.rs/offer/today');
$xpath = new DOMXPath($dom);
$entries = $xpath->query("//div[@id='wrapper']//h3//a/@href");
$output = array();
foreach($entries as $e) {
$dom2 = new DOMDocument();
@$dom2->loadHTMLFile('http://www.popusti.rs' . $e->textContent);
$xpath2 = new DOMXPath($dom2);
$data = array();

$regex = '!\.LatLng\(\s*(\d+\.\d+)\s*,\s*(\d+\.\d+)\)!';
preg_match($regex, $str, $match);
$data['lat'] = $match[1];
$data['lng'] = $match[2];


$output[] = $data;
}


echo '<pre>' . print_r($output, true) . '</pre>';


?>

Br@nkoR 07. 06. 2011. 12:26

Npr. umesto $str stavi $dom2->saveHTML() ili nešto kao:

$xpath2->query("//div[@id='content']/div[@class='offer-details']/script")->item(0)->textContent

AdriaMart 07. 06. 2011. 13:35

Hvala care!

AdriaMart 08. 06. 2011. 01:54

Kako npr. odavde izvuci koordinate: <div class="googleMap jGoogleMap">
<img src="http://maps.google.com/maps/api/staticmap?center=50.2723069,18.991302700000006&amp ;zoom=14&amp;size=189x172&amp;maptype=roadmap&amp; markers=color:orange|50.2723069,18.991302700000006 &amp;sensor=false"s obzirom da se one nalaze unutar linka?

AdriaMart 08. 06. 2011. 02:08

Takodje da pitam da li postoji neki program za regex ili sl. koji bi mi ubrzao proces jer ima dosta sajtova sa kojih pokusavam da izvucem po nesto. Video sam rexexbuddy ali on se placa :(

AdriaMart 08. 06. 2011. 03:46

Da li postoji mogucnost da se napravi neki ''crawler'' ili je to previse slozeno...

Br@nkoR 08. 06. 2011. 08:29

Možda nešto kao:
PHP kôd:

<?php
$string 
'<div class="googleMap jGoogleMap"> 
<img src="http://maps.google.com/maps/api/staticmap?center=50.2723069,18.991302700000006&amp ;zoom=14&amp;size=189x172&amp;maptype=roadmap&amp; markers=colorrange|50.2723069,18.991302700000006 &amp;sensor=false'
;

$regex '/<img src="http:\/\/maps\.google\.com\/maps\/api\/staticmap\?center=(\d+\.\d+),(\d+\.\d+)/';

preg_match($regex$string$match);

$data['lat'] = $match[1];
$data['lng'] = $match[2]; 

echo 
'<pre>' print_r($datatrue) . '</pre>'
?>

Od alata Expresso, The Regex Coach...

AdriaMart 08. 06. 2011. 18:17

Kako je moguce da ovaj kod izvlaci pogresne koordinate:
<?php



$string = file_get_contents('http://www.groupon.pl');
$regex = '/<img src="http:\/\/maps\.google\.com\/maps\/api\/staticmap\?center=(\d+\.\d+),(\d+\.\d+)/';

preg_match($regex, $string, $match);

$data['lat'] = $match[1];
$data['lng'] = $match[2];

echo '<pre>' . print_r($data, true) . '</pre>';

?>

50.27... i 18.99... su koordinate koje treba da se izvuku a ovaj kod izvlaci svaki put drugacije koordinate (posle nekoliko refresovanja koordinate se menjaju - ?????

Prvi put izvuce:
[lat] => 54.41894259999999
[lng] => 16.412185300000033

Drugi put izvuce:
Array
(
[lat] => 52.2378869
[lng] => 20.999525800000015
)

... ???

Br@nkoR 08. 06. 2011. 20:19

Pa možda se podaci menjaju na stranici, ne prikazuju se uvek isti podaci, koliko vidim na toj stranici postoji samo jedana takva slika, odradi echo $string; i vidi šta je u tom trenutku prikazano na stranici, kada se izvlače koordinate.

AdriaMart 09. 06. 2011. 00:19

podaci na stranici se ne menjaju ...mozda postoji neka funkcija koja ne dozvoljava izvlacenje koordinata ili funciju filegetcontents... ali stvarno mi nije jasno zasto skripta menja koordinate kada na toj strani druge koordinate ne postoje... ali hvala u svakom slucaju ... resicu vec nekako ako ne potrazicu pomoc. dosta toga sam vec naucio ne samo o php-u nego i o xml-u i regexu


Vreme je GMT +2. Trenutno vreme je 06:14.

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.