Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyciągnięcie id filmu z ww.ochevidets.ru
omxd
post 10.02.2014, 19:35:54
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 18.05.2010

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


Witam,
potrzebuję wyciągnąć id z filmów w serwisie ochevidets.ru z linku url.O ile z yt albo liveleak jest to w miarę proste bo id jest zawarty w głównym adresie URL tutaj wygląda to trochę dziwnie.
Adres url:
  1. http://www.ochevidets.ru/rolik/61795/

embed:
  1. <embed type="application/x-shockwave-flash" width="400" height="325" allowfullscreen="true" src="http://www.ochevidets.ru/player/flowplayer.swf" flashvars='config={"playlist":[{"url":"http://www.ochevidets.ru/wcmfiles/1392051437.jpg","scaling":"scale"},{"url":"http://www.ochevidets.ru/wcmfiles/1392051437.mp4","autoPlay":false,"autoBuffering":true}],"key":"$9fdc9ec5610b934b296"}' />

Jak widać nijak się ma do id z linku.
Ktoś ma jakiś pomysł na rozwiązanie tego problemu?
podrawiam
Go to the top of the page
+Quote Post
matiit
post 10.02.2014, 19:43:44
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


Pobierasz curlem stronę i jakimś regexem szukasz pliku mp4.
Go to the top of the page
+Quote Post
mimol
post 10.02.2014, 20:40:40
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 5
Dołączył: 10.12.2007

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


po co curl?
wystarczy file_get_content
Go to the top of the page
+Quote Post
matiit
post 10.02.2014, 21:00:27
Post #4





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


Czasem trzeba dawać różne śmieszne opcje, np. chociażby user-agenta, ale czasem jakieś inne, bardziej zaawansowane i wtedy curlem wg mnie wygodniej.
Go to the top of the page
+Quote Post
omxd
post 10.02.2014, 21:16:21
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 18.05.2010

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


słaby jestem w regularnych próbuje łopatologiczniez kiepskim skutkiem.
Jest dałby jakaś dokładniejszą radę?
  1. $url = "http://www.ochevidets.ru/rolik/51406/";
  2. $ch = curl_init();
  3. curl_setopt ($ch, CURLOPT_URL, $url);
  4. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
  6. $result = curl_exec($ch);
  7. curl_close($ch);
  8. $user = strstr($result, '<embed'); // As of PHP 5.3.0
  9. $user = strstr($user, 'type="text">',true); // As of PHP 5.3.0
  10.  
  11. $arr = explode("url",$user);
  12.  
  13. echo $arr[1];
Go to the top of the page
+Quote Post
_Borys_
post 10.02.2014, 21:39:10
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


  1. <?php
  2.  
  3. $url = "http://www.ochevidets.ru/rolik/51406/";
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7. $result = curl_exec($ch);
  8. curl_close($ch);
  9. preg_match('/\/(\d+)\.(?:mp4|avi|mpg)/', $result, $m);
  10. echo $m[1];
  11.  
  12. ?>

Jak będą inne formaty to pododawaj tu gdzie masz (?:mp4|avi|mpg)

Albo pobranie z końcówką
  1. preg_match('/\/(\d+\.(?:mp4|avi|mpg))/', $result, $m);


Ten post edytował _Borys_ 10.02.2014, 21:42:33
Go to the top of the page
+Quote Post
omxd
post 11.02.2014, 21:29:26
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 18.05.2010

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


dzięki!

nie mogę połapać się w tych wyrażeniach regularnych.
Z wyciągniętej strony jak powyżej ,a dokładnie z ramki
  1. <iframe width="640" height="360" src="http://www.liveleak.com/ll_embed?f=72415bff2b36" frameborder="0" allowfullscreen></iframe>
próbuję wyciągnąć zawartość 'f=' ,ale wychodzą kompletne bzdury.


Mógłbym prosić kogoś o podpowieć?
  1. preg_match('/\/(\d+)\.(?)/f=', $result, $m);

pozdrawiam

Ten post edytował omxd 11.02.2014, 21:38:06
Go to the top of the page
+Quote Post
Daimos
post 11.02.2014, 21:42:28
Post #8





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


  1. $html = '<iframe width="640" height="360" src="http://www.liveleak.com/ll_embed?f=72415bff2b36" frameborder="0" allowfullscreen></iframe>';
  2.  
  3. preg_match('/ll_embed\?f\=([a-zA-Z0-9]+)/', $html, $m);


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Johnas
post 11.02.2014, 22:08:05
Post #9





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Borys jesteś moim bogiem smile.gif Ja również pisałem pobierani linku do filmów z serwisu cda.pl i mój kod zawierał więcej linijek kodu, no ale doświadczeni programiści potrafią ułatwiać sobie życie i jesteś tego żywym przykładem. Może być tak, że link działa na twojej stronie przez dwie godziny ze względu na brak utworzonej sesji na serwerze z filmem, ale i na to jest sposób. Wystarczy otworzyć stronę z filmami na niewidzialnym frame i wszystko powinno działać poprawnie.


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
_Borys_
post 11.02.2014, 22:25:31
Post #10





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Wow, pierwszy raz tak ktoś mnie nazwał, miło to słyszeć. Dzięki za słowa uznania:)
Go to the top of the page
+Quote Post
omxd
post 12.02.2014, 16:29:03
Post #11





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 18.05.2010

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


przykład działa fajnie ,ale embed pojawia sie dopiero po kliknięciu ikony,kod nie widzi tej wartości.
sytułacja bez wyjścia?
  1.  
  2. $url = 'http://www.liveleak.com/view?i=327_1392119908';
  3. $ch = curl_init();
  4. curl_setopt($ch, CURLOPT_URL, $url);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
  7. $result = curl_exec($ch);
  8. curl_close($ch);
  9. preg_match('/ll_embed\?f\=([a-zA-Z0-9]+)/', $result, $m);
  10. echo $result;
  11. //var_dump($m);

pozdrawiam

dla potomnych - jeśli ktoś trafi kiedyś na ten problem podaje solucje:
  1. $url = 'http://www.liveleak.com/view?i=327_1392119908';
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, $url);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
  6. $result = curl_exec($ch);
  7. curl_close($ch);
  8.  
  9. preg_match("/generate_embed_code_generator_html\(\'([^']*)/", $result, $m);
  10. echo $m[1]; // 72415bff2b36


Ten post edytował omxd 12.02.2014, 16:29:38
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 11:12