/ / Pobierz wideo z serwisu YouTube: errorcode = 150 - wideo, youtube, pobierz

Pobierz wideo z serwisu Youtube: errorcode = 150 - wideo, youtube, pobierz

Piszę skrypt do pobierania filmów z youtube. Wiem, że muszę sparsować plik z informacjami wideo pobranymi z adresu URL: http://www.youtube.com/get_video_info?video_id={identyfikator wideo}. I działa dobrze, ale niektóre filmy są "chronione" przed osadzaniem na zewnętrznych stronach internetowych (i nie chcę do EMBED wideo, chcę POBRAĆ to). I na przykład:

dla tego filmu https://www.youtube.com/watch?v=cgqOSCgc8xc Nie mogę pobrać żadnych informacji o filmie z tego adresu URL: http://www.youtube.com/get_video_info?video_id=cgqOSCgc8xc, tylko te parametry (poniżej), z kodem błędu 150:

cosver = 6.1 & csi_page_type = embed & cos = Windows & status = fail & cbr = Chrome &kod błędu = 150& enablecsi = 1 & errordetail = 0 & cbrver = 38.0.2125.111 & c = WEB & eventid = XftVVJbEA-nziwaU2YGgBw & reason = Ten + film + wideo + zawiera + tre% C5% 9B% C4% 87 + od + biznesu + WMG. + Mo% C5% BCliwo% C5% 9B% C4% 87 + jej + ustawienia + w + określonym% C5% 9Blonych + spółach + jest + zablokowana.% 3Cbr% 2F% 3E% 3Cu% 3E% 3Ca + href% 3D% 27http% 3A% 2F% 2Fwww.youtube.com% 2Fwatch% 3Fv% 3DcgqOSCgc8xc% 26feature% 3Dplayer_embedded% 27 + target% 3D% 27_blank% 27% 3EObejrzyj + w + YouTube% 3C% 2Fa% 3E% 3C% 2Fu% 3E

Ale widziałem, że inne skrypty do pobierania filmów youtube nie mają z tym żadnego problemu. Jak mogę uzyskać dokładny plik z informacjami o filmie?

Odpowiedzi:

1 dla odpowiedzi № 1

Gdy wniosek o informacje o filmie "http://www.youtube.com/get_video_info?video_id=cgqOSCgc8xc"jest wysyłany do YouTube, YouTube oczekuje, że żądanie przychodzi z witryny, która próbuje osadzić gracza i odtworzyć wideo.

Jest kilka filmów, na które YouTube nie zezwalado gry z odtwarzacza osadzonego na stronie internetowej (z wyjątkiem samego serwisu YouTube). Właścicielami tych filmów są zazwyczaj tacy, którzy nie zezwalają na osadzanie. Twoje obecne podejście nie zadziała, ponieważ YouTube będzie odmawiać Twojego żądania informacji o filmach za każdym razem.

Więc...musisz poprosić YouTube o inne "prośby" o informacje o filmie. Trudno Ci pomóc, nie wiedząc, jakiego języka / skryptu / API używasz do pobierania, ale udało mi się użyć strategii, aby uzyskać nieprzetworzony URL wideo za pomocą języka iOS / Swift.

Bez względu na to, jakiego API używasz, strategia jest następująca:

1) Użyj interfejsu przeglądarki internetowej dostarczonego przezplatforma używana do uruchamiania i odtwarzania wideo, o którym mowa. 2) Jeśli wideo jest odtwarzane, można bezpiecznie stwierdzić, że używana platforma była w stanie wysłać żądanie URL, aby uzyskać adres URL strumienia wideo i odtworzyć go. 3) Dowiedz się, jakie API istnieje w twojej platformie, co pozwoli ci zobaczyć, co jest wyżej wymienione żądanie URL. 4) Użyj żądania adresu URL, aby pobrać wideo. Pamiętaj, że adres URL wygasa, więc nie przejmuj się jego buforowaniem.