Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]wyswietlenie zdjecia i tytulu ogloszenia z innej strony - jak?
Forum PHP.pl > Forum > Przedszkole
17misiek09
czy moglby mi ktos podpowiedziec w jaki sposob moge pobrac czesc zawartosci innej strony i wyswietlic je na swojej?
interesuje mnie zdjecie i tytul ogloszenia z serwisu ogloszeniowego, a po kliknieciu w tytul przejscie na ten wlasnie serwis z tym walasnie wybranym ogloszeniem.

serwis nie nalezy do mnie.

przyklad:
na allegro sa podane: zdjecia, tytul, cena, z dostawa, popularnosc, do konca

jak wyswietlic u siebie na stronie zdjecie i tytul ogloszenia??
serdecznie dziekuje za podpowiedzi.
k_@_m_i_l
Zainteresuj się curl.
17misiek09
Cytat(k_@_m_i_l @ 25.05.2012, 08:17:00 ) *
Zainteresuj się curl.


nooo czytalem iii szczerze powiedziawszy - nie czaje :/

wpisuje cos takiego:

  1. <?php
  2. function showAll($aVars, $sTitle) {
  3. echo "$sTitle:\n";
  4. if (count($aVars) == 0) {
  5. echo " Brak\n";
  6. } else {
  7. foreach ($aVars as $name => $value) {
  8. echo " $name = $value\n";
  9. }
  10. }
  11. }
  12. setcookie('c1', 'v1', time() + 3600);
  13. setcookie('c2', 'v2', time() + 3600);
  14. $headers = getallheaders();
  15. showAll($headers, 'Nagłówki żądania');
  16. showAll($_GET, 'Zmienne przekazywane metodą GET');
  17. showAll($_POST, 'Zmienne przekazywane metodą POST');
  18. showAll($_COOKIE, 'Ciastka');
  19. showAll($_FILES, 'Pliki');
  20. ?>
  21. <?php
  22. // Argumentem jest URL do skryptu z listingu 2.1
  23. $ch = curl_init('http://moto.allegro.pl/motocykle-5557');
  24. curl_exec($ch);
  25. curl_close($ch);
  26. ?>


i cisza - nic nie wychodzi poza tym:

Kod
Nagłówki żądania: Host = demono.aq.pl X-Real-IP = 213.195.162.34 X-Forwarded-For = 213.195.162.34 Connection = close User-Agent = Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0 Accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language = pl,en-us;q=0.7,en;q=0.3 Accept-Encoding = gzip, deflate Cookie = c1=v1; c2=v2 Cache-Control = max-age=0 Zmienne przekazywane metodą GET: Brak
Zmienne przekazywane metodą POST: Brak
Ciastka: c1 = v1 c2 = v2
Pliki: Brak


dodam, ze domena jest na aq.pl (hosting z friko.pl)
IProSoft
  1. $adres = 'strona';
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8");
  4. curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
  5. curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
  6. curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
  7. curl_setopt($ch, CURLOPT_REFERER, 'http://google.com/');
  8. curl_setopt($ch, CURLOPT_URL, $adres);
  9. $html = curl_exec ($ch);
  10. curl_close ($ch);


W $html masz teraz treśc strony, możesz wyciągnąć interesujące dane przez preg_match_al lub DOMDocument + simplexml_import_dom
17misiek09
wpisujac:

  1. <?php
  2. $adres = 'http://moto.allegro.pl/motocykle-5557';
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8");
  5. curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
  6. curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
  7. curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
  8. curl_setopt($ch, CURLOPT_REFERER, 'http://google.com/');
  9. curl_setopt($ch, CURLOPT_URL, $adres);
  10. $html = curl_exec ($ch);
  11. curl_close ($ch);
  12. ?>


nie wyswietla mi nic..., ale pewnie wyswietli dopiero po wybraniu interesujacego mnie fragmentu przez mreg_match_all tak?
IProSoft
echo $html;
17misiek09
Cytat(IProSoft @ 1.06.2012, 15:55:00 ) *
echo $html;

nawet po wpisaniu

  1. <?php
  2. $adres = 'http://moto.allegro.pl/motocykle-5557';
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8");
  5. curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
  6. curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
  7. curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
  8. curl_setopt($ch, CURLOPT_REFERER, 'http://google.com/');
  9. curl_setopt($ch, CURLOPT_URL, $adres);
  10. $html = curl_exec ($ch);
  11. echo $html."peirwszy raz sprawdzam czy wyswietli cos";
  12. curl_close ($ch);
  13. echo $html."drugi raz sprawdzam czy cos wyswietli";
  14. ?>


i wyswietla tylko napisy:

Cytat
peirwszy raz sprawdzam czy wyswietli cos


Cytat
drugi raz sprawdzam czy cos wyswietli


z echo probowalem od razu, tylko zaaapomnialem wkleic kodu z pliku, ktory wrzucilem na serwer..

jakies podpowiedzi? sad.gif
peter13135
wygooglowałęm taki example :
  1. <?php
  2. $ch = curl_init("www.example.com/curl.php?option=test");
  3. curl_setopt($ch, CURLOPT_HEADER, 0);
  4. curl_setopt($ch, CURLOPT_POST, 1);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. $output = curl_exec($ch);
  7. curl_close($ch);
  8. echo $output;
  9. ?>


powinien działać wink.gif
17misiek09
Cytat(peter13135 @ 2.06.2012, 23:17:49 ) *
wygooglowałęm taki example :
  1. <?php
  2. $ch = curl_init("www.example.com/curl.php?option=test");
  3. curl_setopt($ch, CURLOPT_HEADER, 0);
  4. curl_setopt($ch, CURLOPT_POST, 1);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. $output = curl_exec($ch);
  7. curl_close($ch);
  8. echo $output;
  9. ?>


powinien działać wink.gif



niestety sad.gif nie dziala...

wyskakuje cos takiego:
Cytat
411 Length Required
nginx/0.7.67
...

byloby pieknie otrzymac jakas pomoc...

sad.gif
Tajgeer
  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_exec($hand);
  8.  
  9. curl_close($hand);
  10. ?>

Wyświetli zawartość głównej strony Wikipedii.

  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
  8. $output = curl_exec($hand);
  9.  
  10. curl_close($hand);
  11. ?>

Zapisze treść głównej strony Wikipedii do zmiennej $output

Jeśli wyświetla się pusta strona, włącz jeszcze wyświetlanie błędów:
  1. ini_set('display_errors', 1);
17misiek09
Cytat(Tajgeer @ 4.06.2012, 21:03:51 ) *
  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_exec($hand);
  8.  
  9. curl_close($hand);
  10. ?>

Wyświetli zawartość głównej strony Wikipedii.

  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
  8. $output = curl_exec($hand);
  9.  
  10. curl_close($hand);
  11. ?>

Zapisze treść głównej strony Wikipedii do zmiennej $output

Jeśli wyświetla się pusta strona, włącz jeszcze wyświetlanie błędów:
  1. ini_set('display_errors', 1);


przykro mi, raportowanie bledow nie bylo wylaczone, ale i tak dopisalem ten kawalek kodu - efekt: brak efektu sad.gif
kompletnie nic.


dodam, ze strona z tej samej domeny wyswietla sie prawidlowo.
hosting z friko.pl (mojastrona12312313213.AQ.PL)

ma ktos jakis pomysl?

tyle madrych glow i zero pomyslow dlaczego kod ktory powinien teoretycznie dzialac praktycznie nie dziala?

...

hmm?

bardzo prosze - podpowiedzcie sad.gif

odswierzam...
IProSoft
Wrzuć do czystego pliku php:
  1. <?
  2. if (in_array ('CURL', get_loaded_extensions())) {
  3. echo 'ok';
  4. }
  5. ?>

i podeśli adres do tego pliku.
17misiek09
Cytat(IProSoft @ 9.06.2012, 18:50:48 ) *
Wrzuć do czystego pliku php:
  1. <?
  2. if (in_array ('CURL', get_loaded_extensions())) {
  3. echo 'ok';
  4. }
  5. ?>

i podeśli adres do tego pliku.


wciaz cisza...w pliku jest tylko to co w cytacie, jest to nowiutki czysciutki plik.

adres: - http://demono.aq.pl/testcurl.php

wciaz prosze o pomoc..
IProSoft
Daj dla pewności na początku pliku error_reporting(E_ALL); bo wychodzi na to, że CURL wcale nie jest zainstalowany.
17misiek09
dalej pusto na ekranie :/ a to cale curl sam dam rade zainstalowac?watpie...pewnie do adminow trzeba sie zglosic z zapytaniem..


zmienilem hosting na ugu.pl
tu juz widac ze jest zainstalowane curl napewno:

  1. <?
  2. if (in_array ('CURL', get_loaded_extensions())) {
  3. echo 'ok';
  4. }
  5. ?>

wyswietlilo ok.

ale wciaz
  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
  8. $output = curl_exec($hand);
  9.  
  10. curl_close($hand);
  11. echo $output;
  12. ?>

wyswietla mi pusta strone :/
IProSoft
Wiki nie pobierzesz:
Scripts should use an informative User-Agent string with contact information, or they may be IP-blocked without notice.
Spróbuj php.pl smile.gif
17misiek09
Cytat(IProSoft @ 11.06.2012, 22:52:11 ) *
Wiki nie pobierzesz:
Scripts should use an informative User-Agent string with contact information, or they may be IP-blocked without notice.
Spróbuj php.pl smile.gif


probowalem rozne strony...
wciaz pusto :/
  1. <?php
  2. $hand = curl_init();
  3.  
  4. curl_setopt($hand, CURLOPT_URL, 'http://www.php.pl');
  5. curl_setopt($hand, CURLOPT_POST, 0);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, '');
  7. curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
  8. $output = curl_exec($hand);
  9.  
  10. curl_close($hand);
  11. echo $output;
  12. ?>


plik jest tutaj

...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.