Как экспортировать мои плейлисты YouTube?


43

YouTube любит периодически удалять видео из списка избранных:

предупреждение об удаленных видео

Но они отказываются говорить мне, что они были, поэтому я могу найти другую копию.

Я хотел бы экспортировать свои плейлисты YouTube, чтобы я мог периодически их различать и вручную находить другие копии удаленных песен.

Как я могу экспортировать свои плейлисты (или плейлисты) с YouTube?


1
По какой-то причине просмотр плейлиста на телефоне Android все равно приведет к названиям видео, которые были удалены!

Ответы:


18

Насколько я знаю, на Youtube нет встроенного способа сделать это.

Конечно, вы можете использовать API YouTube, чтобы легко получить все свои плейлисты в формате xml, используя следующее:

https://gdata.youtube.com/feeds/api/users/[YOUR_USER_NAME]/playlists?v=2

Пример: https://gdata.youtube.com/feeds/api/users/oisinorion/playlists?v=2

Этот xml-файл будет иметь уникальные идентификаторы для каждого из ваших списков воспроизведения, которые вы затем сможете использовать для получения подробной информации о каждом списке воспроизведения, включая URL-адреса видео и заголовки. Следующий вызов API снова даст вам XML-файл:

https://gdata.youtube.com/feeds/api/playlists/[UNIQUE_ID]?v=2

Пример: https://gdata.youtube.com/feeds/api/playlists/D5F03C2BE1AA3E7E?v=2

Однако работать с этими XML-файлами вручную было бы кошмаром. Было бы лучше создать небольшое веб-приложение (если вы немного знакомы с веб-программированием), чтобы извлекать и представлять соответствующую информацию из этих XML-файлов.

Подробнее об API вы можете прочитать здесь: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists


2
Похоже, что только первые 25 элементов возвращаются по умолчанию. Вы можете добавить max-results=xк URL, но x> 50 отклоняется. Добавьте start-index=...для подкачки результатов.
безумный

2
Этот ответ выглядит устаревшим. API YouTube теперь 3.0.
Джей М

15

Как насчет того, чтобы сделать это проще?

Перейдите по адресу : http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Поместите в плейлист URL-адрес, который вы хотите создать в Excel-формате, вот и все :)

Вот предварительный просмотр, как это выглядит. Экспортировал мой короткометражный плейлист, извините, не хватает кредитов, чтобы опубликовать 2 ссылки введите описание изображения здесь

Создатель: «Все, что делает мое веб-приложение, - это использует API разработчика YouTube для получения данных канала. Вы могли бы сделать то же самое самостоятельно, но это было бы в сложном формате XML и не очень читабельным. Я думаю, что большинство людей предпочли бы иметь это в электронной таблице Excel. Если у вас нет Microsoft Office, вы можете скачать Open Office бесплатно ».


1
Это работает для всех плейлистов, кроме избранного и понравившегося.
Тобилан

Большое спасибо, я искал любой способ сделать это в течение 2 -х дней, и есть так много устаревшее дерьмо онлайн , связанные с этим. Этот сайт работал отлично. (только немного медленно, но все еще <2 дня!) @tobylane Likedбыл единственным списком, который меня интересовал, и он работал отлично.
ashleedawg

@tobylane это работает для избранных. Я не проверял это для любимого.
парадокс Ферми

9

В свете устаревания v2 текущий ответ больше не работает. v3 это новая версия.

Ссылка на документацию - https://developers.google.com/youtube/v3/docs/playlistItems/list

Это ограничивает только 50 результатов. Заполните следующее

Пример ссылки - https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxx=key=yyyy


7

Это не самый элегантный способ выполнить то, что вы просите, но вот ручной метод, который я только что использовал для этого. Поскольку для этого я использую Powershell, я предполагаю, что вы работаете на компьютере с Windows.

шаги:

  1. Перейти к Google Takeout
  2. На странице загрузки данных отмените выбор всего, кроме Youtube
  3. Разверните Youtube и выберите «Выбрать конкретные данные» в разделе «Данные YouTube», затем нажмите кнопку «Данные YouTube» и выберите только «Списки воспроизведения», затем измените раскрывающийся список «Подписки» на «JSON», затем нажмите «Далее».
  4. Загрузите данные Takeout, когда они будут готовы, и распакуйте их куда угодно
  5. Откройте сеанс Powershell и выполните приведенные ниже операторы.

Предполагая, что ваш плейлист - Избранное, вы получите Избранное.json. Допустим, мне нужен только заголовок каждого видео в плейлисте и ссылка на него в текстовом файле YoutubeFolated.txt:

$json = ConvertFrom-Json (Get-Content .\Favorites.json -Raw)
foreach ($vid in $json) { "$($vid.snippet.Title) - Link: https://www.youtube.com/watch?v=$($vid.contentDetails.videoId)" | Out-File -FilePath .\YoutubeFavorites.txt -Append }

Вуаля, наслаждайся.


Похоже, приватные плейлисты не экспортируются (мне только «понравились» «смотреть позже» и что-то еще, что не было плейлистом, который я искал)
polynomial_donut

Это кажется довольно странным и разочаровывающим. Возможно, варианты API в других ответах являются единственными реальными решениями.
Реми Ламберт


3

Вы можете сделать это с новым сайтом, который мы разработали https://www.tunemymusic.com/

Вы можете выбрать экспорт из Youtube определенного плейлиста, всех ваших плейлистов, а также всех ваших любимых видео. Затем вы можете экспортировать его в свободный текстовый файл.

В дополнение к текстовому файлу мы сейчас работаем над добавлением опций для экспорта в файлы csv и m3u


Я поместил URL плейлиста YouTube в него, и ничего не произошло.
TIX BRANCO

2

В настоящее время есть много решений, которые делают даже больше, чем вы просили:

  • http://www.playlist-converter.net/ - конвертируйте свой плейлист из нескольких музыкальных сервисов и форматов файлов

  • https://sourceforge.net/projects/youtubeexport/ - эта программа используется для экспорта списков воспроизведения YouTube в текстовые или HTML-файлы.

  • https://soundiiz.com/ - загрузка плейлистов из файлов, веб-адресов или простого текста, передача избранных между всеми потоковыми платформами, загрузка во все популярные форматы файлов

Но наиболее эффективным и элегантным решением было бы, на мой взгляд, просто использовать youtube-dl, потому что с помощью одной единственной команды (которую вы можете легко создать самостоятельно, просматривая документы) вы можете загрузить ВСЕ названия своих элементов плейлистов (ну, не только названия, если вам было интересно ...), указав в качестве параметра URL-адрес YouTube на странице, где отображаются все ваши плейлисты (например, https://www.youtube.com/user/your_user_name/playlists ). Кроме того, у него также есть возможность делать аутентифицированные запросы на YouTube (с вашими учетными данными), чтобы он также мог загружать ваши личные плейлисты .


1

Вы можете создать букмарклет в своем браузере, чтобы поймать описание каждого видео в списке, а затем распечатать их в текстовой области.

Например, этот скрипт создаст список с URL-адресами и названиями видео. Просто создайте закладку и добавьте следующий скрипт в адрес (URL) закладки:

javascript:var Description = "Export YouTube playlists. This script is in the Public Domain - created at: 2016-11-21";
function printline(myLine) {
  document.write(myLine+"\n");
};
function showlinks() {
  var today = new Date();
  var day = today.getDate();
  var month = today.getMonth()+1;
  var year = today.getFullYear();
  document.write("<html><head><title>YouTube list: " + Title + "</title></head><body>");
  printline("<textarea name='Links' rows='55' cols='200'>");
  printline(year + "-" + month + "-" + day);
  printline(Title +"\n"+url);
  printline("");
  for (i=0; i<lines.length; i++) printline(lines[i]);
  printline("</textarea>");
  document.write("</body></html>");
};
var url = document.URL;
var body = document.body.innerHTML;
var lines = [];
if (url.match(/youtube.com/)) {
  var x = body.match(/data-list-title=.*/)[0];
  var x = x.replace(/.*data-list-title="/, '');
  var Title = x.replace(/".*/, '');
  var body = body.replace(/data-video-id="/g, 'data-video-id="https://www.youtube.com/watch?v=');
  if (body.match(/li class=.yt-uix-scroller-scroll-unit/)) {
    var matches = body.match(/li class=.yt-uix-scroller-scroll-unit.*/g);
    for(i=0; i<matches.length; i++) {
      var x = matches[i];
      var ID = x.replace(/.*data-video-id=./, "");
      var ID = ID.replace(/".*/, "");
      var VName = x.replace(/.*data-video-title=./, "");
      var VName = VName.replace(/".*/, "");
      var x = VName;
      var x = ID + "\t" + VName;
      lines.push(x);
    };
  };
};
showlinks();

Если вам не нужны URL-адреса видео, просто удалите строку "var x = ID +" \ t "+ VName;" (строка 36)

Этот сценарий должен работать некоторое время, пока YouTube не изменит форматирование своих HTML-страниц. Когда они это сделают, вам придется соответствующим образом настроить скрипт - скорее всего, вам придется искать что-то другое вместо «data-video-title =»


-1

Что я сделал, так это зашел в мой список воспроизведения и щелкнул правой кнопкой мыши на имени моего списка воспроизведения, а затем выбрал «электронная почта с Windows Live». Он отправляет ссылку на вашу электронную почту, и когда вы нажимаете ссылку, у вас есть весь список воспроизведения.


1
затем YouTube удаляет видео из вашего плейлиста, а затем вы снова переходите по ссылке, отправленной по электронной почте, и вы попадаете в тот плейлист, где сейчас отсутствует видео, понимаете? ;)
JJ_

-3

Почему бы вам просто не открыть плейлист и не скопировать / вставить его в Excel, Word или что-то еще? Это не совсем элегантно, но информация есть в качестве резервной копии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.