Спосіб завантаження відео YouTube для навчання

Як зазначається в назві допису, такий спосіб завантаження відео YouTube не є одним з найкращих, а скоріше спосіб дізнатись, як працюють програми для цієї мети, як ті, що ми бачили тут (youtube-dl, який для Правда, у них багато можливостей, і це чудово, рекомендую).

Метод полягає у використанні загальних команд з GNU / Linux для цього, як вони є витися і багато комунальних послуг від бити y пітон які можна використовувати для створення сценаріїв. Слід зазначити, що метод не є автоматичним, а вимагає втручання користувача.

По-перше, ми розмістили відеоролик для проведення "тесту".

відео_ціль

Потім ми отримуємо вміст сторінки за допомогою сценарію, який ми зберігаємо і виконуємо наступним чином:

"nombre del script" "url de youtube"
Приклад:
./script_url https://www.youtube.com/watch?v=1r-bWx3WZfQ

#!/bin/bash
ip=$(curl ifconfig.me)
for ((i=0;i<=10;i++))
do
curl -s $1 | grep "r$i---" | grep "expire" | grep "$ip" | grep "http" | grep "ratebypass" | grep "itag"
done

Опис сценарію:

Для ip, яка буде використана найближчим часом, встановлюється змінна, після якої йде цикл для випробування різних чисел у змінній "$ i", а наступний рядок - отримання вмісту та фільтрів слів для "полегшення" розташування посилання, яке нас цікавить.

Коли ми виконуємо попередній сценарій, він повертає такий вивід:

отриманий_код

Ну, вони можуть подумати, що це не має сенсу, але насправді це простіше, ніж здається. З результатів, які вони отримали, ми шукаємо, вибираємо та копіюємо передбачуване посилання, яке приховане у вмісті, воно зазвичай має такий вигляд:

http%3A%2F%2Fr2---sn-j5caxvoq5-2ute.googlevideo.com%2Fvideoplayback%3Fitag%3D5%26sver%3D3%26source%3Dyoutube%26mv%3Dm%26id%3Dd6bf9b5b1dd665f4%26ip%3D190.XXX.XX.XX%26key%3Dyt5%26upn%3DOPyez7xDXx0%26expire%3D1394709761%26sparams%3Did%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26ms%3Dau%26fexp%3D935640%252C927904%252C932250%252C910207%252C927860%252C916611%252C937417%252C913434%252C936910%252C936913%252C902907%252C934022%26mt%3D1394685288%26signature%3D0A96F682936F3E20015E95DC15AC3D291372CDD5.BF5B9EFF421155747A2267148C8F35B018D4A689%26ipbits%3D0

Таких посилань насправді багато, але не всі з них працюють. Шукати це може бути дещо складно, тому для цієї роботи нам потрібно знайти слова HTTP, ipbits, upn, підпис і закінчуються кількома символами та цифрами форми BF5B9EFF421155747A2267148C8F35B018D4A689; вже з цими об'єктами в передбачуваному посиланні, ми копіюємо його.

Слід зазначити, що багато разів посилання може бути помилковим, принаймні в моєму випадку мені доводилося робити це за допомогою 3 різних посилань, однак воно працює.

Цей код, який ми скопіювали, насправді є адресою ресурсу (а в даному випадку це відео), однак він записаний у вигляді символів для використання мовою HTML, наприклад цифр, які починаються з знак відсотка (%).

Оскільки нам потрібна адреса, яку можна читати "http: //", ми повинні перетворити ці коди в символи, тому ми будемо робити це за допомогою сценарію, зробленого на python:

#!/usr/bin/python
def parse_conv(dvar):
df=""
count=0
global chain
chain=""
for dc in dvar:
if dc=="%" and count==0:
count=1
elif count==1 or count==2:
df=df+dc
if count==1:
count=2
else:
count=0
chf=chr(int(df,16))
chain+=chf
df=""
else:
chain+=dc
dvar=input("Código a convertir: ")
parse_conv(dvar)
parse_conv(chain)
print(chain)

Як і в іншому сценарії, вони зберігають його та запускають. Щось подібне з’явиться, тут же вони вставляють попередню адресу і дають їй ввести; З'явиться адреса типу "http: //":

читабельна_адреса

Цим ми будемо користуватися Wget щоб завантажити відео наступним чином:

wget -c "http://r2---sn-j5caxvoq5-2ute.googlevideo.com/videoplayback?itag=5&sver=3&source=youtube&mv=m&id=d6bf9b5b1dd665f4&ip=190.XXX.XX.XX&key=yt5&upn=OPyez7xDXx0&expire=1394709761&sparams=id,ip,ipbits,itag,source,upn,expire&ms=au&fexp=935640,927904,932250,910207,927860,916611,937417,913434,936910,936913,902907,934022&mt=1394685288&signature=0A96F682936F3E20015E95DC15AC3D291372CDD5.BF5B9EFF421155747A2267148C8F35B018D4A689&ipbits=0"

download_wget

Ми сподіваємось, що це закінчиться, і ми завантажимо наше відео з YouTube із досить дивною назвою:

video_rare

Ми перейменовуємо його і бачимо, що це те саме відео, що і в посиланні, тому ми вже перевірили, що це складний, але корисний спосіб, якщо ви хочете знати, як працює цей тип програми.

відео_тест

Сподіваюся, це допоможе вам.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Хімекісан - сказав він

    Хороший пост, я віддаю перевагу більш простому методу, я шукаю відео в браузері, а потім відтворюю його в терміналі:
    # також з | grep Flash
    тоді я копіюю процес, і це дає мені flv
    cp / proc / xxxxx / fd / xx / path / to / save.flv

    1.    @світ - сказав він

      Це не спрацювало для мене, я отримую плагін-co 25074 для мене mem, цей mem повинен бути дескриптором файлу.
      в будь-якому випадку використовуючи du -hL / proc / 25074 / fd / * жоден не має розміру, щоб бути відео YouTube, хтось знає, чому ФО не виходить?

    2.    Анонімний - сказав він

      Я користуюся jdownloader вже пів десятиліття, щоб завантажувати тисячі відео та фільмів під час навчання. Звичайно, для тих, хто вважає за краще використовувати термінал, він не є дійсним інструментом, крім того, що він не є найлегшим (для нього потрібно близько 100 Мб оперативної пам'яті з усім і системою).

  2.   Блекнето - сказав він

    Це не найкраще, але для Firefox існує розширення під назвою Easy Youtube Video Downloader Express ...

    Я виходжу з ліги: https://addons.mozilla.org/es/firefox/addon/easy-youtube-video-download/

    Він мене вже поспішив ... Привіт з Мексики

  3.   Маркос - сказав він

    Мені завжди подобався "синтаксичний розбір" веб-сторінок, безперечно, що цей синтаксичний аналіз знань (веб-сайти) + linux дозволяє уявляти невеликі сценарії, які роблять потужні речі 😀 (бот з не зловмисними цілями)

    на своєму веб-сайті я завантажив цей маленький скрипт у php, який "показує" лише безкоштовний пароль vpn для "vpnbook", який змінюється раз у раз, і що я сподіваюся зробити згодом, це відправляти його на мій мобільний телефон щодня о 7 ранку, через смс через сторінку movistar (через іншого бота): D.

    сторінка
    http://rojosbar.com/AL/1.php

    Код
    http://paste.desdelinux.net/4940

    Ви також можете запустити сценарій зі свого комп'ютера за допомогою команди

    php СЦЕНАРІЙ.php

    де SCRIPT.php представляє ім'я файлу з php-кодом

    -----
    ще один сценарій (дуже зелений), який я зробив для завантаження «сторінок журналу» ISSUU та збереження їх у форматі PDF (оскільки мені не подобається версія Flash, яку вони показують на своєму веб-сайті)

    Дивіться відео запущеного php-сценарію
    https://www.youtube.com/watch?v=h82r41UOWLQ

    код
    http://paste.desdelinux.net/4941

  4.   Вартість Гранда - сказав він

    youtube-dl [відео]
    для чого ще? простий та ефективний 🙂
    Але я вітаю вас із зусиллями

  5.   привіт - сказав він

    я використовую jdownloader

  6.   c4вибухонебезпечний - сказав він

    Тут я знову залишаю скрипт python, бо помітив, що той, який я поставив, не має вкладок.

    http://paste.desdelinux.net/4942

  7.   Джон - сказав він

    Простіший спосіб і без програм.

    1) Клацніть правою кнопкою миші на відео.
    2) Перейдіть до "Перевірити елемент"
    3) Знайдіть себе у Відеотегу
    4) Перейдіть до властивості SRC та скопіюйте це посилання (якщо ви хочете пропустити кроки 5 та 6, просто перейдіть до консолі та введіть wget та скопійоване посилання)
    5) Відкрийте це посилання в іншій вкладці
    6) Клацніть правою кнопкою миші -> Зберегти відео як ...> готово, насолоджуйтесь.

  8.   Дерналіс - сказав він

    Чудовий пост, хоча, на мою думку, це може заплутати аудиторію, яка може цим скористатися.
    Уже в дописі стає зрозуміло, що є кращі способи завантаження відео YouTube. Вони мають намір показати можливості Linux для отримання даних з Інтернету.

    Невеликий приклад як внесок:
    завитки -s http://rss.thepiratebay.se/101 | grep магніт | grep посилання | sed -r "s /^.* (. +) $ / \ 1 / g" | під час читання рядка; виконувати ехо-віддалену передачу -лінія $; зроблено

    Він видаляє з каналу thepiratebay rss всі посилання на музичні магніти, останні 60, і показує команду, щоб додати їх до передачі. якщо ми видалимо "ехо", це додасть їх безпосередньо, обережно.
    Я знаю, що це можна зробити за допомогою Flexget або подібного, але справа не в цьому, це в тому, щоб визначити інформацію, яку ви хочете отримати з Інтернету, і знайти спосіб виділити її за допомогою інструментів, які ми маємо в Linux.

    Сподіваюся, я не надто розширював і не втручався.

  9.   Нсз - сказав він

    І чи не було б простіше використовувати Youtube-DL?

    Щоб завантажити відео:
    Youtube-dl [URL-адреса відео]

    Щоб завантажити лише аудіо:
    youtube-dl -x –аудіо-формат mp3 [URL-адреса відео]

  10.   @світ - сказав він

    Хороший пост, який допомагає нам краще зрозуміти.

  11.   гільдії - сказав він

    Я використовую CLIPGRAB, і якщо це консоль, я використовую команду clive або cclive. Мені не потрібен жоден сценарій 🙂

  12.   kid_goth - сказав він

    Більшість з них нудні uu, так, вже існує багато сценаріїв та програмного забезпечення, які виконують цю функцію, але принаймні ви задавалися питанням, як вони це роблять? уу ...

    Ну, я не знав цього шляху, я збираюся його протестувати, і тим не менше, під час свого візиту до YouTube інструментом розробника я побачив, що у них є API (REST, я думаю) дає вам багато інформації про відео, а отже і посилання на його cdn.

    Я спробую це і продовжу з моїм власним сценарієм завантаження з чимось зробленим і зрозумілим мною хехе. Привітання та гарна стаття