![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym aby po podaniu linku do serwisu youtube.com, automatycznie wyświetlało mi czy filmik jest dostępny czy już nie.. Jeśli filmik jest aktywny pisało online a jeśli nie to offline Znalazłem taką funkcje: http://blog.4rev.net/2009-08/check-if-yotu...id-youtube-api/
Ale po wejściu na stronę wyskakuje mi: Kod Parse error: syntax error, unexpected ':' in /public_html/youtube.php on line 3 Znalazłem jeszcze: http://stackoverflow.com/questions/2256930...rl-using-jquery
Ale nie umiem jej zastosować :/ Ma ktoś jakieś pomysły? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Źle skonstruowane szablony w silnikach blogowych podmieniają cudzysłowy "kodowe" na drukarskie, przejrzyj je uważnie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem i teraz wyglada tak:
Kod <?php function checkYoutubeId($id) { if (!$data = @file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$id)) return false; if ($data == "Video not found") return false; return true; } function checkYoutube($vid) { if (strlen($vid) < 12) { return checkYoutubeId($vid); } $preg1 = '@www.youtube.com\/watch\?v=(.*?)$@'; if ( preg_match($preg1, $vid, $match) ) { $id = explode("&",$match[1]); return checkYoutubeId($id[0]); } $preg1 = '@www.youtube.com\/v\/(.*?)$@'; if ( preg_match($preg1, $vid, $match) ) { $id = explode("&",$match[1]); return checkYoutubeId($id[0]); } } ?> Dobrze jest? nie wywala nic.. I teraz gdzie muszę podać link aby mi to sprawdzało? Ma ktoś jakieś pomysły? Ten post edytował Rafee 21.04.2010, 12:45:00 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
http://code.google.com/intl/pl/apis/youtub...d.html#data_api
Google niemal do wszystkich swoich narzędzi udostępnia usługi sieciowe, tj. REST, SOAP, XML-RPC. Dlaczego by z tego nie skorzystać? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem za dobrym programista, staram się używać gotowych przykładów
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej użyć:
http://pl2.php.net/manual/pl/function.get-headers.php Jeśli nie znajdzie strony to powinno zwrócić 404 czy tam inny błąd |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie nie bardzo... choć może nie umiem tego bardziej zastosować...
Chodzi mi dokładnie o to żeby w kolumnie (rys) Youtube status, wyświetlało się zamiast "Status": Działa - jeśli filmik jest na Youtube Nie działa! - jeśli nie jest już dostępny... (IMG:http://i40.tinypic.com/213i39.jpg) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie nie bardzo... choć może nie umiem tego bardziej zastosować... Chodzi mi dokładnie o to żeby w kolumnie (rys) Youtube status, wyświetlało się zamiast "Status": Działa - jeśli filmik jest na Youtube Nie działa! - jeśli nie jest już dostępny... (IMG:http://i40.tinypic.com/213i39.jpg) Nie sprawdzisz raczej inaczej, aniżeli przy wykorzystaniu Web Servies YouTube. A przynajmniej nie sprawdzisz tego zbyt wydajnie i elegancko. Musisz wykorzystać ich API lub zlecić to zadanie komuś. Być może ktoś szalony napisze Ci to za darmo :-) Btw. skrypt, który dałeś wcześniej sprawdza tylko poprawność adresu, co nie wyklucza usunięcie filmu z yT. Pobranie samych nagłówków też nie pomoże, ponieważ YouTube otwiera normalnie stronę, wyświetlając w HTML info o usunięciu filmiku. preg_match_all też nie jest zbyt dobre, bo przy każdej kolejnej aktualizacji yT będziesz musiał aktualizaować swoje skrypty. Ten post edytował kilas88 21.04.2010, 16:38:59 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
No tak, tylko ten pierwszy który próbuje go użyć może być wystarczajacy ... gdyż np..
1. Filmik został usunięty (Ten film wideo jest już niedostępny z powodu otrzymania roszczenia dotyczącego praw autorskich przez Box Office Entertainment): http://gdata.youtube.com/feeds/api/videos/Yno5dUWWAWk Pojawia się informacja: Video not found 2. Gdy w ogole takiej strony nie ma (Żądany film wideo jest niedostępny. Jeśli ten film został niedawno przesłany, zaczekaj kilka minut na jego przetworzenie.): http://gdata.youtube.com/feeds/api/videos/4ewrerw8r3r Pojawia się informacja: Video not found 3. A gdy jest dostępny i działa: http://gdata.youtube.com/feeds/api/videos/EbF8OhBVnlY Pokazuje się okno do ściągnięcia i zawartość pliku: Kod <?xml version='1.0' encoding='UTF-8'?><entry xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'><id>http://gdata.youtube.com/feeds/api/videos/VMv4R9o9azw</id><published>2009-05-10T21:11:28.000Z</published><updated>2010-04-21T13:07:01.000Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment' label='Entertainment'/><category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat' term='slasher'/><category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat' term='killer'/><category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat' term='survival'/><title type='text'>Madness theatrical trailer h264</title><content type='text'>FRIENDS JENNA AND TARRA ARE ON THEIR WAY TO A CHEERLEADING CONTEST. AT A GAS STATION THEY DECIDE TO HELP TWO GUYS,OLIVER AND CHAD WHO ARE HAVING PROBLEM WITH THEIR CAR. WHAT THEY DON'T KNOW IS THAT THEY ARE BEING WATCHED BY A GROUP OF MADMEN. THEIR ONLY INTENTION IS TO HUNT THEM DOWN AND KILL THEM FOR PLEASURE. AFTER BEING CAPTURED AND LOCKED UP,SURVIVAL IS THE ONLY THING THAT MATTERS. BUT JUST HOW FAR ARE THEY WILLING TO GO?</content><link rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=VMv4R9o9azw&feature=youtube_gdata'/><link rel='http://gdata.youtube.com/schemas/2007#video.responses' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/VMv4R9o9azw/responses'/><link rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/VMv4R9o9azw/related'/><link rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/VMv4R9o9azw'/><author><name>DC92100</name><uri>http://gdata.youtube.com/feeds/api/users/dc92100</uri></author><gd:comments><gd:feedLink href='http://gdata.youtube.com/feeds/api/videos/VMv4R9o9azw/comments' countHint='0'/></gd:comments><media:group><media:category label='Entertainment' scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content url='http://www.youtube.com/v/VMv4R9o9azw?f=videos&app=youtube_gdata' type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full' duration='141' yt:format='5'/><media:content url='rtsp://v1.cache2.c.youtube.com/CiILENy73wIaGQk8az3aR_jLVBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' type='video/3gpp' medium='video' expression='full' duration='141' yt:format='1'/><media:content url='rtsp://v8.cache8.c.youtube.com/CiILENy73wIaGQk8az3aR_jLVBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' type='video/3gpp' medium='video' expression='full' duration='141' yt:format='6'/><media:description type='plain'>FRIENDS JENNA AND TARRA ARE ON THEIR WAY TO A CHEERLEADING CONTEST. AT A GAS STATION THEY DECIDE TO HELP TWO GUYS,OLIVER AND CHAD WHO ARE HAVING PROBLEM WITH THEIR CAR. WHAT THEY DON'T KNOW IS THAT THEY ARE BEING WATCHED BY A GROUP OF MADMEN. THEIR ONLY INTENTION IS TO HUNT THEM DOWN AND KILL THEM FOR PLEASURE. AFTER BEING CAPTURED AND LOCKED UP,SURVIVAL IS THE ONLY THING THAT MATTERS. BUT JUST HOW FAR ARE THEY WILLING TO GO?</media:description><media:keywords>slasher, killer, survival</media:keywords><media:player url='http://www.youtube.com/watch?v=VMv4R9o9azw&feature=youtube_gdata'/><media:thumbnail url='http://i.ytimg.com/vi/VMv4R9o9azw/2.jpg' height='90' width='120' time='00:01:10.500'/><media:thumbnail url='http://i.ytimg.com/vi/VMv4R9o9azw/1.jpg' height='90' width='120' time='00:00:35.250'/><media:thumbnail url='http://i.ytimg.com/vi/VMv4R9o9azw/3.jpg' height='90' width='120' time='00:01:45.750'/><media:thumbnail url='http://i.ytimg.com/vi/VMv4R9o9azw/0.jpg' height='240' width='320' time='00:01:10.500'/><media:title type='plain'>Madness theatrical trailer h264</media:title><yt:duration seconds='141'/></media:group><gd:rating average='3.6666667' max='5' min='1' numRaters='3' rel='http://schemas.google.com/g/2005#overall'/><yt:statistics favoriteCount='2' viewCount='867'/></entry> Może jakby wykorzystać ten pierwszy i drugi punkt ? Znalazlem jeszcze cos takiego.. http://stackoverflow.com/questions/1362345...1817569#1817569 Moze teraz ktoś ma jakieś pomysły jak to rozwiązać? Ten post edytował Rafee 21.04.2010, 17:35:06 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
No to musisz użyć CURL by pobrać cały dokument HTML i go przeanalizować potem przy pomocy PHP. Popatrz jak robią to skrypty (katalogi stron, systemy wymiany linków), które sprawdzają, czy na stronie x znajduje się link y.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 2.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Możesz podać nazwę skryptu takiego katalogu który sprawdza?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
No to musisz użyć CURL by pobrać cały dokument HTML i go przeanalizować potem przy pomocy PHP. Popatrz jak robią to skrypty (katalogi stron, systemy wymiany linków), które sprawdzają, czy na stronie x znajduje się link y. Bzdura. A jak YouTube zmieni kilka znaczników na swojej stronie to masz zmieniać cały swój skrypt i sposób pobierania informacji? Usługi sieciowe tworzy się po to, aby z nich korzystać. Takie parsowanie czyichś serwisów jest często także nielegalne. Tutaj przykład usługi sieciowej: http://pear.php.net/manual/en/package.webs...ube.example.php Kolejne przykłady zapewne na phpclasses.org, PECL, dokumentacji API YouTube i setce innych miejsc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:43 |