Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie danych z innej strony
KamPL
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


Witam, ostatnio próbuję stworzyć skrypt, który próbuje pobrać dane z pewnego diva na stronie, jednak bez skutków. Chciałbym pobrać nazwę tytułu filmu, aby ten wyświetlił się na stronie. Próbowałem przez cURL, oraz przez normalny skrypt php, lecz nie działa. Chciałbym pobrać tytuł filmu z div'u "filmTitle" z tej strony: Klik . Proszę o jakieś wskazówki.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(KamPL @ 2.12.2012, 19:36:28 ) *
Witam, ostatnio próbuję stworzyć skrypt, który próbuje pobrać dane z pewnego diva na stronie, jednak bez skutków. Chciałbym pobrać nazwę tytułu filmu, aby ten wyświetlił się na stronie. Próbowałem przez cURL, oraz przez normalny skrypt php, lecz nie działa. Chciałbym pobrać tytuł filmu z div'u "filmTitle" z tej strony: Klik . Proszę o jakieś wskazówki.

Pozdrawiam


A czy czasem nie bierzesz za to 30 zł od pewnej osoby?
Go to the top of the page
+Quote Post
KamPL
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


yyyyyyyyyyyyyy ?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(KamPL @ 2.12.2012, 19:41:37 ) *
yyyyyyyyyyyyyy ?


A bo była swego czasu oferta tutaj na forum, by stworzyć coś podobnego. I jak się dowiedziałem od zleceniodawcy ktoś się zgodził zrobić taki skrypt za 30 zł. Co do pytania z 1 postu - pobierz dane cURLem, następnie zastosuj odpowiednie wyrażenie regularne.
Go to the top of the page
+Quote Post
KamPL
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


aha, spoko. Tylko z tym wyrażeniem regularnym mam problem. Mógłbyś podać jakiś przykład pobrania z div'u ? Bo próbowałem i żadnym sposobem nie wyświetlało się.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Chociażby takie wyrażenie:

  1. $pattern = '/<div id=filmTitle class=hide>(.*)</div>/';


Nazwa filmu występuje w wielu miejscach.
Go to the top of the page
+Quote Post
KamPL
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


A żeby wyświetliło jeden wynik trzeba wykonać to w pętli czy jest inny sposób ?


Pozdrawiam
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #8





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Po co w pętli? cURL-em pobierasz całą stronę, stosujesz wyrażenie regularne i masz już wynik w postaci tytułu. Mówiłem tylko że tytuł występuje wielokrotnie, więc możesz zastosować różne wyrażenia regularne, ale że ten akurat div posiada id (co oznacza, że może być tylko jeden taki), tak więc otrzymasz tylko jeden zgodny wynik do wzorca.

  1. $pattern = '/<div id=filmTitle class=hide>(.*)<\/div>/';


Ten post edytował b4rt3kk 2.12.2012, 19:58:39
Go to the top of the page
+Quote Post
KamPL
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


Okej, dziękuję za pomoc.


Pozdrawiam (IMG:style_emoticons/default/wink.gif)

Przepraszam jeszcze ale, gdy mam taki kod:
  1. <?php
  2. $url = "http://www.filmweb.pl/film/Madagaskar+3-2012-494685";
  3. $ch = curl_init(); // inicjalizacja curla
  4. curl_setopt($ch, CURLOPT_URL,$url); // ustawienie urla
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // zwróć w postaci zmiennej
  6. curl_setopt($ch, CURLOPT_TIMEOUT, 3); // czas oczekiwania
  7. $result = curl_exec($ch); // wykonanie skryptu
  8. curl_close($ch);
  9.  
  10. preg_match('/<div id=filmTitle class=hide>(.*)<\/div>/', $result, $wyjscie);
  11. echo $wyjscie;
  12. ?>


wyskakuję mi "Array", próbowałem też przez print_r ale to daje to samo, proszę o pomoc z góry dzięki.

Pozdrawiam
Go to the top of the page
+Quote Post
Spawnm
post
Post #10





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Aby pobrać info o filmie musisz obejść stronę startową z reklamą, a tego nie robisz.



Cytat
A bo była swego czasu oferta tutaj na forum, by stworzyć coś podobnego. I jak się dowiedziałem od zleceniodawcy ktoś się zgodził zrobić taki skrypt za 30 zł.

Hehehe, to już wiem czemu moja propozycja ceny XXX nie spotkała się z zainteresowaniem (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
KamPL
post
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


A jak zrobić to obejście ?
Go to the top of the page
+Quote Post
Spawnm
post
Post #12





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Nie pomagamy obchodzić zabezpieczeń (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
KamPL
post
Post #13





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.12.2012

Ostrzeżenie: (0%)
-----


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  
  6. </head>
  7.  
  8. <body>
  9. <form method="post">
  10. <input type="text" name="url" />
  11. <input type="submit" value="submit" />
  12. </form>
  13. <?php
  14.  
  15. $strona = $_POST['url'];
  16. if($_POST['url']!="") {
  17. $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
  18.  
  19.  
  20.  
  21. $rC = curl_init();
  22. curl_setopt($rC, CURLOPT_HEADER, 1);
  23. curl_setopt($rC, CURLOPT_COOKIEFILE, 'cookies.txt');
  24. curl_setopt($rC, CURLOPT_COOKIEJAR, 'cookiesjar.txt');
  25. curl_setopt($rC, CURLOPT_RETURNTRANSFER, 1);
  26. curl_setopt($rC, CURLOPT_VERBOSE, 0);
  27. curl_setopt($rC, CURLOPT_REFERER, 'www.google.pl');
  28. curl_setopt($rC, CURLOPT_URL, "$strona");
  29.  
  30. $wejscie = curl_exec($rC);
  31. curl_setopt($rC, CURLOPT_REFERER, $strona);
  32. $wejscie = curl_exec($rC);
  33.  
  34. curl_close($rC);
  35. preg_match('/<div id=filmTitle class=hide>(.*)<\/div>/', $wejscie, $wyjscie);
  36.  
  37. echo $wyjscie;
  38.  
  39. }
  40.  
  41. ?>
  42. </body>
  43. </html>


Znalazłem taki kod, ale dalej mam ten sam problem, proszę o pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 05:39