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 19. 05. 2011. 03:10

fetch podataka sa drugih sajtova
 
Ima li nacina da preuzmem pojedne podatke sa drugih sajtova i da ih postavim u xml fajl. npr. odredjeni div id ili naslov ili sliku pa da sve zajedno napravim xml fajl... kao sto funcionise agregatori vesti ali bez rss-a jer sajtovi sa kojih treba da preuzmem sadrzaj nemaju rss feed. HELP Hvala unapred!

jablan 19. 05. 2011. 08:26

http://en.wikipedia.org/wiki/Web_scraping

Npr. mi koristimo Mechanize (http://mechanize.rubyforge.org/mecha...UIDE_rdoc.html)

dinke 19. 05. 2011. 11:13

A mi koristimo custom scrapping: curl za fetchovanje i regular expression za parsiranje podataka :)

webarto 19. 05. 2011. 11:59

^ http://stackoverflow.com/questions/1...732454#1732454

Ako je validan HTML onda nije problem... Uglavnom cURL u svakom slučaju i RegEx i http://htmlpurifier.org/, da ekstraktuješ HTML... Pretpostavljam da je PHP u pitanju. Ako ti treba konkretan primjer, postavi konkretan link :)

Edit: Promašio si podforum.

Nemanja Avramović 19. 05. 2011. 13:24

Pogledaj i ovo: http://simplehtmldom.sourceforge.net/ [php]

webarto 19. 05. 2011. 14:35

^ kad smo kod toga... http://webarto.com/82/php-simple-html-dom-curl
Što je dinke spomenuo možeš ovako: http://www.dizajnzona.com/forums/ind...howtopic=82361

AdriaMart 19. 05. 2011. 16:02

Ono sto meni treba je da izvucem naslove i po jednu sliku (danasnje ponude) sa sajtova kupime.rs kolektiva.rs i sl.

Hvala svima na korisnim informnacijama.

webarto 19. 05. 2011. 17:27

Daj šta teže :1056:

PHP kôd:

$html curl('http://rs.kolektiva.net');

preg_match('#<div id="title">(.*?)</div>#is'$html$matches);
$data["naslov"] = strip_tags($matches[1]);

preg_match('#<div class="split_b intro">(.*?)</div>#is'$html$matches);
$data["opis"] = strip_tags($matches[1]);

preg_match('#/datastore/imagestore/naslovna_ponuda/(.*?)\.jpg#is'$html$matches);
$data["slika"] = strip_tags($matches[0]);

print_r($data); 

Citat:

Array (
[naslov] => Ponuda dana 60% popusta na vaučer za bilo koju stomatološku uslugu u ordinaciji "Dragon" - platite 990 din za vrednost vaučera od 2.500 din!

[opis] => Zubi su izuzetno koristan deo našeg organizma: ne samo da možemo na njih da stavljamo cirkone i da ih turpijamo tako da izgledaju kul kao vampirski, nego možemo i njima da se ujedemo za jezik kada treba da prećutimo nešto! Ali, nažalost, zubi su podložni kojekakvim karijesima i okruženi paradontozama i drugim grozama koje izazivaju patnju i bolove najširih slojeva stanovništva... Srećom, za sve to postoji lek - a lek je vaučer za 60% popusta na bilo koju stomatološku uslugu u ordinaciji "Dragon" koji vam danas donosi vaša Kolektiva!

[slika] => /datastore/imagestore/naslovna_ponuda/naslovna_ponuda_1305723314shutterstock_31170838.jp g
)

AdriaMart 19. 05. 2011. 18:02

Ocigledno server na kome hostujem nema instaliran curl:
Fatal error: Call to undefined function curl() in /home/untitled-1.php on line 2

ali ok ... snacicu se ... znas li mozda kako da izvucem lan i lgt kordinate koje se nalaze na toj strani na google mapi i da to sve stavim u jedan xml fajl...

Hvala na pomoci.

webarto 19. 05. 2011. 18:10

Imaš vjerovantno ovo je samo helper funkcija, dodaj pa pokuašaj opet...

PHP kôd:

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://rs.kolektiva.net');

preg_match('#<div id="title">(.*?)</div>#is'$html$matches);
$data["naslov"] = strip_tags($matches[1]);

preg_match('#<div class="split_b intro">(.*?)</div>#is'$html$matches);
$data["opis"] = strip_tags($matches[1]);

preg_match('#/datastore/imagestore/naslovna_ponuda/(.*?)\.jpg#is'$html$matches);
$data["slika"] = strip_tags($matches[0]);

preg_match('#lat=(.*?);#is'$html$matches);
$data["lat"] = strip_tags($matches[1]);

preg_match('#lng=(.*?);#is'$html$matches);
$data["lng"] = strip_tags($matches[1]);

print_r($data); 



Vreme je GMT +2. Trenutno vreme je 11:44.

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.