Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wyciągnięcie id filmu z ww.ochevidets.ru
omxd
post
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
 
Start new topic
Odpowiedzi (1 - 10)
matiit
post
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
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
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
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
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
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
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);
Go to the top of the page
+Quote Post
Johnas
post
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 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
_Borys_
post
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:08