Własny youtube downloader - gdzie jest link do pliku?

Odpowiedz Nowy wątek
2014-12-31 20:53
0

Witam,

Gdzie ukryty jest link do pliku w linku youtube?
Używam komponentu INDY HTTP do ściągania plików.
Znalazłem taki kod:

http://pastebin.com/y5rViqf9

ale wyrzuca mi błędy.

Pozostało 580 znaków

2014-12-31 21:19
1

Jakie błędy? Poza tym patrz na date publikacji. Od tamtej pory na YT trochę się pozmieniało. Doszedł obowiązkowy parametr signature. Wyciągnąć go można też z kodu html. Polecam poszukać na forum. Niedawno był tutaj o tym wątek, gdzie opisany jest sposób skorzystania z api, które zwrace dane o video. W tym linki do różnych jakości. Udostępnia je samo YT. Ma jednak wadę, ktôra polega na tym że nie zwraca danych niektórych filmów niby zablokowanych w danym kraju, ale i tak wyświetlanych przez przeglądarke.

A można też spróbować korzystać z savefrom.net i parsować zwróconą stronę. Ja pisałem kiedyś downloadera w WinAPI i Delphi, ale po zmianach mam problem z utworzeniem linków do plików, które by nie zwracały błędu HTTP z prawami dostępu - kod 403. Zarzuciłem rozwój tego downloadera. Na sieci jest dużo kodôw choćby w PHP, które można przetłumaczyć. A korzystają ze wspomnianej podstrony z video details, czyli tego jakby API.


edytowany 1x, ostatnio: olesio, 2014-12-31 21:19

Pozostało 580 znaków

2015-01-01 02:58
0

W poście z 2010 r. znalazłem prostą metodę dekodowania linku do pliku z youtube:

Expert Comment

FactorB2010-02-24 at 01:22:53ID: 26838759

What's happening in the code, usually link looks like


after the page is loaded from the source you look for 'VIDEO_ID': , (video_id without colon sign appears some 5 times in the code),
from 'VIDEO_ID': 'rd5fXbqBolM' extract the value and you'll get rd5fXbqBolM, now search for "t": it appears only once in code, "t": "vjVQa1PpcFOzZRwoYZYEGqIUOrjUUA6SsUqN67Qc03o%3D", extract the value, now merge the two values in a new string and you'll get flv video download link
http://youtube.com/get_video?[...]9deHmRxgk8wZnB8OLuJLHiqGKM%3D
if you want to download MP4 video add &fmt=18 on the end
http://youtube.com/get_video?[...]ZnB8OLuJLHiqGKM%3D&fmt=18
for 3GP add &fmt=17, there is also &fmt=13 for 3GP, probably different encoding as it gives smaller files
That's it, quite simply, but not when it isn't documented :)

to cytat stąd:

http://www.experts-exchange.c[...]Pascal/Delphi/Q_25195485.html

Co się zmieniło od tamtego czasu?

Pozostało 580 znaków

2015-01-01 10:29
1

Weź dowolny działający downloader, np.
https://github.com/YePpHa/YouTubeCenter/wiki
i zobacz w źródła.

Pozostało 580 znaków

2015-01-01 22:02
1

@Romlus: zauważ, że sposób znowu bardzo stary, po drodze było wiele zmian na YT. Zrób jak radzi @Azarien, ewentualnie poczytaj starszy wątek http://4programmers.net/Forum/Newbie/141583-czy_ktos_moze_mi_wyjasnic_jak_recznie_wydobyc_link_do_filmu_z_youtube?p=938989#id938989 W którym właśnie podane były linki do uzyskiwania detali o filmikach. W tym bezpośrednich linków do osobnych jakości danego materiału. Wiele przy tworzeniu kodu może pomóc obsluga regexprami danych, którę są bodajże w kodzie do którego link w tamtym wątku podaje @ubuntuser.


edytowany 2x, ostatnio: olesio, 2015-01-01 22:04

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0