Làm cách nào để xuất danh sách phát YouTube của tôi?


43

YouTube thích định kỳ xóa các video trong danh sách yêu thích của tôi:

cảnh báo về các video đã xóa

Nhưng họ từ chối cho tôi biết họ là ai để tôi có thể đi tìm một bản sao khác.

Tôi muốn có một cách để xuất danh sách phát YouTube của mình để tôi có thể định kỳ tìm chúng theo định kỳ và tìm thủ công các bản sao khác của các bài hát đã xóa.

Làm cách nào tôi có thể xuất danh sách phát của mình (hoặc danh sách phát) từ YouTube?


1
Vì một số lý do, việc xem danh sách phát trên điện thoại Android vẫn sẽ mang lại tên của các video đã bị xóa!

Câu trả lời:


18

Theo như tôi biết, không có cách nào được thực hiện trên Youtube.

Tất nhiên, bạn có thể sử dụng API Youtube để dễ dàng lấy tất cả danh sách phát của mình trong xml bằng cách sử dụng như sau:

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

Ví dụ: https://gdata.youtube.com/feed/api/users/oisinorion/playlists?v=2

Tệp xml đó sẽ có ID duy nhất cho mỗi danh sách phát của bạn, sau đó bạn có thể sử dụng để nhận thông tin chi tiết cho từng danh sách phát, bao gồm URL video và tiêu đề. Cuộc gọi API sau đây sẽ lại cung cấp cho bạn một tệp xml:

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

Ví dụ: https://gdata.youtube.com/feed/api/playlists/D5F03C2BE1AA3E7E?v=2

Tuy nhiên, làm việc với các tệp XML đó sẽ là một cơn ác mộng. Tốt nhất là tạo một ứng dụng web nhỏ (nếu bạn biết một chút về lập trình web) để lấy ra và trình bày thông tin liên quan từ các tệp XML đó.

Bạn có thể đọc thêm về API tại đây: https://developers.google.com/youtube/2.0/developftimeguide_protatio_playlists


2
Dường như chỉ có 25 mục đầu tiên được trả về theo mặc định. Bạn có thể thêm max-results=xvào URL, nhưng x> 50 bị từ chối. Thêm start-index=...để phân trang kết quả.
lunakid

2
Câu trả lời này có vẻ lỗi thời. API Youtube hiện là 3.0.
Jay M

15

Làm thế nào về chúng tôi làm cho điều này dễ dàng hơn ..

Truy cập: http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Đặt trong url danh sách phát bạn muốn tạo ở định dạng excel, đó là tất cả :)

Đây là một bản xem trước trông như thế nào. Đã xuất danh sách phát phim ngắn của tôi, nằm ở vị trí xin lỗi, không đủ tín dụng để đăng 2 liên kết nhập mô tả hình ảnh ở đây

Người tạo: 'Tất cả ứng dụng web của tôi làm là sử dụng API của nhà phát triển YouTube để lấy dữ liệu nguồn cấp dữ liệu. Bạn có thể tự làm điều tương tự nhưng nó sẽ ở định dạng XML phức tạp và không dễ đọc lắm. Tôi nghĩ rằng hầu hết mọi người muốn có nó trong một bảng tính Excel. Nếu bạn không có Microsoft Office thì bạn có thể tải xuống Open Office miễn phí. '


1
Điều đó làm việc cho tất cả các danh sách phát ngoại trừ yêu thích và thích.
tobylane

CẢM ƠN RẤT NHIỀU, tôi đã tìm mọi cách để làm điều này trong 2 ngày, và có quá nhiều thứ vớ vẩn trên mạng liên quan đến việc này. Trang web này hoạt động hoàn hảo. (chỉ chậm một chút nhưng vẫn <2 ngày!) @tobylane Likedlà danh sách duy nhất tôi quan tâm và nó hoạt động hoàn hảo.
ashleedawg

@tobylane nó hoạt động cho mục yêu thích. Tôi đã không kiểm tra nó cho thích.
Nghịch lý Fermi

9

Trong sự phản đối của v2, câu trả lời hiện tại không còn hoạt động. v3 là phiên bản mới.

Liên kết tài liệu - https://developers.google.com/youtube/v3/docs/playlistItems/list

Điều này giới hạn chỉ 50 kết quả. Điền vào như sau

Liên kết ví dụ - https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxx=key=yyyy


7

Đây không phải là cách thanh lịch nhất để thực hiện những gì bạn yêu cầu, nhưng đây là một phương pháp thủ công mà tôi chỉ sử dụng để làm điều đó. Bởi vì tôi đang sử dụng Powershell cho một phần của điều này, tôi cho rằng bạn đang sử dụng máy Windows.

Các bước:

  1. Truy cập Google Takeout
  2. Trên trang Tải xuống dữ liệu của bạn, bỏ chọn mọi thứ trừ Youtube
  3. Mở rộng Youtube và chọn "Chọn dữ liệu cụ thể" trong "Dữ liệu YouTube", sau đó nhấp vào nút "Dữ liệu YouTube" và chỉ chọn "Danh sách phát", sau đó thay đổi thả xuống "Đăng ký" thành "JSON", sau đó nhấp vào Tiếp theo
  4. Tải xuống dữ liệu Takeout của bạn khi nó sẵn sàng và giải nén nó đến bất cứ đâu
  5. Mở một phiên Powershell và thực hiện các câu lệnh dưới đây

Giả sử danh sách phát của bạn là Favorites, bạn sẽ nhận được Favorites.json. Giả sử tôi chỉ muốn tiêu đề của mỗi video trong danh sách phát và liên kết đến nó, trong một tệp văn bản có tên YoutubeFavorites.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 }

Voila, thưởng thức.


Có vẻ như danh sách phát riêng tư không được xuất (tôi chỉ nhận được 'thích' 'xem sau' và một cái gì đó không phải là danh sách nhạc tôi đang tìm)
polynomial_donut

Điều đó có vẻ khá kỳ lạ, cũng đáng thất vọng. Có lẽ các tùy chọn API trong các câu trả lời khác là giải pháp thực sự duy nhất.
Remy Lambert


3

Bạn có thể làm điều đó với một trang web mới mà chúng tôi đã phát triển https://www.tunemymusic.com/

Bạn có thể chọn xuất từ ​​Youtube một danh sách phát cụ thể, tất cả danh sách phát của bạn và tất cả các video bạn thích. Sau đó, bạn có thể xuất nó cho tập tin văn bản miễn phí.

Ngoài tệp văn bản, chúng tôi hiện đang nghiên cứu thêm tùy chọn để xuất sang tệp csv và m3u


Tôi đặt một url danh sách phát youtube vào đó và không có gì xảy ra.
TIX BRANCO

2

Ngày nay có nhiều giải pháp thậm chí còn làm nhiều hơn những gì bạn yêu cầu:

  • http://www.playlist-converter.net/ - Chuyển đổi danh sách phát của bạn từ nhiều dịch vụ âm nhạc và định dạng tệp

  • https://sourceforge.net/projects/youtubeexport/ - Chương trình này được sử dụng để xuất danh sách phát youtube sang tệp văn bản hoặc .html

  • https://soundiiz.com/ - Tải lên danh sách phát từ các tệp, URL web hoặc văn bản thuần túy, chuyển mục yêu thích của bạn giữa tất cả các nền tảng phát trực tuyến, tải xuống tất cả các định dạng tệp phổ biến

Nhưng giải pháp hiệu quả và thanh lịch nhất theo quan điểm của tôi là chỉ sử dụng youtube-dl bởi vì với một lệnh duy nhất như (bạn có thể dễ dàng tự xây dựng bằng cách xem tài liệu), bạn có thể tải xuống TẤT CẢ các tiêu đề danh sách phát của mình (không chỉ tiêu đề, nếu bạn quan tâm ...), bằng cách nhập tham số URL YouTube vào trang hiển thị tất cả danh sách phát của bạn (ví dụ: https://www.youtube.com/user/your_user_name/playlists ). Trên hết, nó cũng có một tùy chọn để thực hiện các yêu cầu được xác thực lên YouTube (với thông tin đăng nhập của bạn) để nó cũng có thể tải xuống danh sách phát riêng tư của bạn .


1

Bạn có thể tạo một Bookmarklet trong trình duyệt của mình để xem mô tả của từng video trong danh sách và sau đó in tất cả chúng trong một văn bản.

Ví dụ: tập lệnh này sẽ tạo một danh sách với url và tên của video. Chỉ cần tạo dấu trang và thêm tập lệnh sau vào địa chỉ (URL) của dấu trang:

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();

Trong trường hợp bạn không muốn url của video, thì chỉ cần xóa dòng "var x = ID +" \ t "+ VName;" (dòng 36)

Tập lệnh này sẽ hoạt động được một lúc, cho đến khi YouTube sẽ thay đổi định dạng của các trang HTML của họ. Khi họ sẽ làm điều đó, bạn sẽ phải điều chỉnh tập lệnh cho phù hợp - rất có thể, bạn sẽ phải tìm kiếm thứ gì khác thay vì "data-video-title ="


-1

Những gì tôi đã làm là vào danh sách phát của mình và nhấp chuột phải vào tên danh sách phát của tôi sau đó chọn "email với Windows Live". Nó sẽ gửi một liên kết đến email của bạn và khi bạn nhấp vào liên kết, bạn có toàn bộ danh sách phát của mình.


1
sau đó YouTube xóa video khỏi danh sách phát của bạn và sau đó bạn truy cập lại liên kết được gửi qua email và bạn được đưa đến danh sách phát đó, nơi video hiện đang bị thiếu, bạn biết không? ;)
jj_

-3

Tại sao bạn không mở danh sách phát và sao chép / dán nó vào Excel, Word hoặc bất cứ thứ gì? Nó không chính xác thanh lịch, nhưng thông tin là có một bản sao lưu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.