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>'; ?> |
Npr. umesto $str stavi $dom2->saveHTML() ili nešto kao:
$xpath2->query("//div[@id='content']/div[@class='offer-details']/script")->item(0)->textContent |
Hvala care!
|
Kako npr. odavde izvuci koordinate: <div class="googleMap jGoogleMap">
<img src="http://maps.google.com/maps/api/staticmap?center=50.2723069,18.991302700000006& ;zoom=14&size=189x172&maptype=roadmap& markers=color:orange|50.2723069,18.991302700000006 &sensor=false"s obzirom da se one nalaze unutar linka? |
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 :(
|
Da li postoji mogucnost da se napravi neki ''crawler'' ili je to previse slozeno...
|
Možda nešto kao:
PHP kôd:
|
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 ) ... ??? |
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.
|
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 01:57. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.