DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > (X)HTML, JavaScript, DHTML, XML, CSS
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi

Odgovori
 
Alati teme Način prikaza
Staro 01. 10. 2011.   #141
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

A kako izvlačiš podatke sa drugih sajtova, pošto si napisao da za ostale sajtove radi?
Da ti nisu blokirali pristup sajtu ukoliko neovlašćeno koristiš sadržaj sajta.
Vraća li šta:
PHP kôd:
$ch curl_init();
curl_setopt($chCURLOPT_URL'http://www.grupovina.rs');
curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
curl_setopt($chCURLOPT_HEADERtrue);
$data curl_exec($ch);
curl_close($ch);
echo 
$data
Edit: Ukloni znakove @ iz koda koji sam prethodno bio postavio, kako bi se prikazale greške, jer sam ja u brzini bio zaboravio da uklonim.
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”

Poslednja izmena od Br@nkoR : 01. 10. 2011. u 08:25.
Br@nkoR je offline   Odgovorite uz citat
"Hvala" Br@nkoR za poruku:
Staro 01. 10. 2011.   #142
AdriaMart
expert
Expert
 
Avatar AdriaMart
 
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
AdriaMart is on a distinguished road
Default

Sa drugih sajtova izvlacim podatke na isti nacin - potpuno isti!
Ne verujem da su me blokirali jer sam juce prvi put pokrenuo fajl i nije radio (cak ni pokazivao greske ni prvi put)
Izmenio sam kod (bez@) tj. samo $dom i pise:

Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: Document is empty in http://www.grupovina.rs/beograd/, line: 1 in /home/pluspon/public_html/grupovina1.php on line 14

Puno ti hvala na izdvojenom vremenu ali bice sajt bez ponuda grupovine!

Poslednja izmena od AdriaMart : 01. 10. 2011. u 15:00.
AdriaMart je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #143
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

Nema na čemu

$dom->loadHTMLFile() vrati prazan fajl, kao što i piše.
Pokušaj i ovaj kod, postavi ovde šta vrati:
PHP kôd:
$ch curl_init();
curl_setopt($chCURLOPT_URL'http://grupovina.rs/beograd/');
curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
curl_setopt($chCURLOPT_HEADERtrue);
curl_setopt($chCURLOPT_NOBODYtrue);
$data curl_exec($ch);
curl_close($ch);
var_dump($data); 
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”
Br@nkoR je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #144
AdriaMart
expert
Expert
 
Avatar AdriaMart
 
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
AdriaMart is on a distinguished road
Default

kod:

HTTP/1.1 200 OK Date: Sat, 01 Oct 2011 13:10:40 GMT Server: Apache/2.2.9 (Fedora) X-Powered-By: PHP/5.2.6 Set-Cookie: PHPSESSID=jtlkcmv8fc6npnp0osn45eb6c2; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/ X-Pingback: http://grupovina.rs/xmlrpc.php Set-Cookie: wpgr_splash_screen_visible=1; expires=Sun, 02-Oct-2011 01:10:41 GMT; path=/ Set-Cookie: wpgr_splash_screen_visible=1; expires=Sun, 02-Oct-2011 01:10:41 GMT; path=/ Vary: Accept-Encoding Connection: close Content-Type: text/html; charset=UTF-8 Set-Cookie: SERVERID=; Expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/ bool(true)


a klikom na http://grupovina.rs/xmlrpc.php dobijem obavestnje:
XML-RPC server accepts POST requests only.
AdriaMart je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #145
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

Izbaci red curl_setopt($ch, CURLOPT_NOBODY, true); pa vidi da li uz ovo gore vrati i neki sadržaj.
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”
Br@nkoR je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #146
AdriaMart
expert
Expert
 
Avatar AdriaMart
 
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
AdriaMart is on a distinguished road
Default

Vrati skoro ceo sajt, pogledaj http://pluspon.com/grupovina1.php
AdriaMart je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #147
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

Probaj prvo da u kod za izvlačenje sadžaja koristiš link:
http://grupovina.rs/beograd/
Dakle bez www, red:
PHP kôd:
@$dom->loadHTMLFile('http://www.grupovina.rs/beograd/'); 
zameni sa
PHP kôd:
@$dom->loadHTMLFile('http://grupovina.rs/beograd/'); 
Ovaj put stavi znak @ kako bi se blokirale greške ukoliko postoje u html kodu ili umesto ovoga znaka na početak fajla stavi libxml_use_internal_errors(true);

Ili pokušaj da iskoristiš onu curl funkciju koju već imaš i zameni red:
PHP kôd:
@$dom->loadHTMLFile('http://www.grupovina.rs/beograd/'); 
sa:
PHP kôd:
@$dom->loadHTML(curl('http://grupovina.rs/beograd/')); 
I red:
PHP kôd:
@$dom2->loadHTMLFile($e->textContent); 
zameni sa:
PHP kôd:
@$dom2->loadHTML(curl($e->textContent)); 
U curl fukciju dodaj i red:
PHP kôd:
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue); 
Mada ukoliko ovo dodaš, trebalo bi da radi i sa www u linku.
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”

Poslednja izmena od Br@nkoR : 01. 10. 2011. u 17:27. Razlog: Ispravio link i grešku u kodu
Br@nkoR je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #148
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

Pošto sam vršio neke izmene u prethodnoj poruci.
Probaj ovo:
PHP kôd:
error_reporting(E_ALL E_NOTICE);
ini_set('display_errors'1);  

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTMLFile('http://grupovina.rs/beograd/');
$xpath = new DOMXPath($dom);
$entries $xpath->query("//div[@class='deal-medallion-heading']/h1/a/@href"); 
$output = array(); 

foreach(
$entries as $e) { 
  
$dom2 = new DOMDocument(); 
  
$dom2->loadHTMLFile($e->textContent);
  
$xpath2 = new DOMXPath($dom2); 
  
$data = array(); 
  
$data['link']= trim($e->textContent);
  
$data['naslov'] = trim($xpath2->query("//div[@class='deal-medallion-heading']/h1/a")->item(0)->textContent); 
  
$data['naslov'] .= '. ' trim($xpath2->query("//span[@class='deal-medallion-deal-title']/a")->item(0)->textContent); 
  
$data['slika'] = trim($xpath2->query("//div[@id='slider']/ul/li/img/@src")->item(0)->textContent);
  
$data['lat'] = trim($xpath2->query("//input[@id='latitude']/@value")->item(0)->textContent); 
  
$data['lng'] = trim($xpath2->query("//input[@id='longitude']/@value")->item(0)->textContent);
  
$output[] = $data
}
echo 
'<pre>' print_r($outputtrue) . '</pre>'
Ili:
PHP kôd:
error_reporting(E_ALL E_NOTICE);
ini_set('display_errors'1);  

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

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTML(curl('http://grupovina.rs/beograd/'));
$xpath = new DOMXPath($dom);
$entries $xpath->query("//div[@class='deal-medallion-heading']/h1/a/@href"); 
$output = array(); 

foreach(
$entries as $e) { 
  
$dom2 = new DOMDocument(); 
  
$dom2->loadHTML(curl($e->textContent)); 
  
$xpath2 = new DOMXPath($dom2); 
  
$data = array(); 
  
$data['link']= trim($e->textContent);
  
$data['naslov'] = trim($xpath2->query("//div[@class='deal-medallion-heading']/h1/a")->item(0)->textContent); 
  
$data['naslov'] .= '. ' trim($xpath2->query("//span[@class='deal-medallion-deal-title']/a")->item(0)->textContent); 
  
$data['slika'] = trim($xpath2->query("//div[@id='slider']/ul/li/img/@src")->item(0)->textContent);
  
$data['lat'] = trim($xpath2->query("//input[@id='latitude']/@value")->item(0)->textContent); 
  
$data['lng'] = trim($xpath2->query("//input[@id='longitude']/@value")->item(0)->textContent);
  
$output[] = $data
}
echo 
'<pre>' print_r($outputtrue) . '</pre>'
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”
Br@nkoR je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #149
AdriaMart
expert
Expert
 
Avatar AdriaMart
 
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
AdriaMart is on a distinguished road
Default

TO JE TO, znaci problem je bio cURL ili ???
AdriaMart je offline   Odgovorite uz citat
Staro 01. 10. 2011.   #150
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

Da li oba primera rade?

Nisam baš vešt u objašnjavanju.
$dom->loadHTMLFile() iz nekog razloga (verzija, modul, podešavanja... nisam siguran) nije pratio redirekciju, dakle ne izvrši se
Kôd:
Location: http://grupovina.rs/beograd/
(ukloni se www) već vrati praznu stranicu, a cURL ima veće mogućnosti pa postoji i ova opcija da prati redirekciju/lokaciju (CURLOPT_FOLLOWLOCATION).
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”

Poslednja izmena od Br@nkoR : 01. 10. 2011. u 21:28.
Br@nkoR je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


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


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.