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)

Br@nkoR 22. 05. 2011. 16:53

Sada sam isprobao ovaj gore kod da ukombinujem sa ostatkom i video da ima malih problema, evo malo izmenjen kod:
PHP kôd:

$dom = new DOMDocument();
@
$dom->loadHTMLFile('http://www.kupime.com/aktivne-ponude/');
$xpath = new DOMXPath($dom);
$entries $xpath->query("//ul[@id='list_offers']//table//a/@href");
$output = array();
foreach(
$entries as $e) {  
  
$dom2 = new DOMDocument();
  @
$dom2->loadHTMLFile('http://www.kupime.com' $e->textContent);
  
$xpath2 = new DOMXPath($dom2);
  
$data = array();
  
$data['naslov'] = trim($xpath2->query("//h1[@id='offer_title']")->item(0)->textContent);
  
$data['opis'] = trim($xpath2->query("//div[@id='description']")->item(0)->textContent);
  
$data['slika'] = trim($xpath2->query("//div[@id='img_border']/img/@src")->item(0)->textContent);
  
$location $xpath2->query("//div[@id='location']//script")->item(1)->textContent;
  
preg_match('/var\s+lat\s+=\s+(\d+\.\d+)\s*;/'$location$lat);
  
preg_match('/var\s+lang\s+=\s+(\d+\.\d+)\s*;/'$location$lang);
  
$data['lat'] = $lat[1];
  
$data['lang'] = $lang[1];
  
  
$output[] = $data;
}

echo 
'<pre>' print_r($outputtrue) . '</pre>'


AdriaMart 22. 05. 2011. 18:19

Kod je dobar i cini mi se da je ovo bolje resenje nego upotreba cURL-a ... Hvala na pomoci!

AdriaMart 22. 05. 2011. 18:31

Kod je dobar i cini mi se da je ovo bolje resenje nego upotreba cURL-a ... Hvala na pomoci!

Br@nkoR 22. 05. 2011. 18:32

Nema na čemu. :)
Možeš i ovde koristiti cURL umesto $dom->loadHTMLFile() za "dovlačenje" sadržaja, pa posle umesto navedenog metoda koristiti:
$dom->loadHTML($sadrzaj_dobijen_pomocu_curl);

Samo obrati pažnju i na:
http://rs.kolektiva.net/o-kolektivi/uslovi-koriscenja

AdriaMart 22. 05. 2011. 18:46

Neznam sto bi se oni protivili kad ja samo hocu da napravim agregator ponuda samo bi dobili reklamu plus ali kontaktiracu ih...

Ej kako da izvucem iz div id-a samo jednu klasu npr. klasu "value" ili sl. treba mi samo sintaksa za pisanje

Br@nkoR 22. 05. 2011. 19:02

Citat:

Originalno napisao AdriaMart (Napišite 99096)
Ej kako da izvucem iz div id-a samo jednu klasu npr. klasu "value" ili sl. treba mi samo sintaksa za pisanje

Postavi primer nisam siguran da li razumem problem.
Kôd:

elemenat[@class='value']
Za detalje oko upotrebe XPath-a pogledaj
http://www.w3schools.com/xpath/default.asp
http://www.w3.org/TR/xpath/

AdriaMart 22. 05. 2011. 19:08

Hvala na informacijama, znas li neki softver za pomoc pri radu sa xml-om xpath-om

Br@nkoR 22. 05. 2011. 19:22

Iskreno, ne bih znao da ti preporučim neki jer ne koristim nijedan, jedino ovo
https://addons.mozilla.org/en-us/fir...ddon/firepath/
što sam bio napisao u jednoj od prethodnih poruka, čak i na ovo zaboravim da imam kada isprobavam neke stvari :).

Pozdrav.

AdriaMart 22. 05. 2011. 20:57

E jesam malo naporna ali nisam nasao na netu odgovor na pitanje ... kako u mysql bazu koju imam uneti sliku a ne njenu adresu kao sto je izvuceno xml-om. Postoji li neka posebna funcija u xpath. Znaci treba mi slika da se unese u mysql a ne njena adresa na sajtu. Pozdrav!

Br@nkoR 22. 05. 2011. 21:59

Da bi se slika unela u bazu ili neki folder (file sistem) potrebno je da na osnovu njene adrese, koje je dobijena iz HTML koda, "dovuče" pomoću npr. cURL, file_get_contents ... i zatim snimi u bazu/folder. XPath ne služi za to.

Pozdrav.


Vreme je GMT +2. Trenutno vreme je 16:01.

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.