ฉันจะส่งออกเพลย์ลิสต์ YouTube ของฉันได้อย่างไร


43

YouTube ชอบลบวิดีโอที่อยู่ในรายการโปรดของฉันเป็นระยะ:

คำเตือนเกี่ยวกับวิดีโอที่ถูกลบ

แต่พวกเขาปฏิเสธที่จะบอกฉันว่าพวกเขาเป็นอะไรฉันจึงไปหาอีกฉบับ

ฉันต้องการวิธีการส่งออกเพลย์ลิสต์ YouTube ของฉันเพื่อให้ฉันสามารถแยกพวกเขาเป็นระยะและค้นหาสำเนาอื่น ๆ ของเพลงที่ถูกลบด้วยตนเอง

ฉันจะส่งออกเพลย์ลิสต์ (หรือเพลย์ลิสต์) จาก YouTube ได้อย่างไร


1
ด้วยเหตุผลบางประการการดูเพลย์ลิสต์บนโทรศัพท์ Android จะยังคงให้ชื่อของวิดีโอที่ถูกลบ!

คำตอบ:


18

เท่าที่ฉันทราบไม่มีวิธีการทำเช่นนี้ใน Youtube

แน่นอนคุณสามารถใช้ Youtube API เพื่อรับเพลย์ลิสต์ทั้งหมดของคุณใน 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 นั้นจะมี ID ที่ไม่ซ้ำกันสำหรับแต่ละเพลย์ลิสต์ของคุณซึ่งคุณสามารถใช้เพื่อรับรายละเอียดสำหรับแต่ละเพลย์ลิสต์รวมถึง 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=...สำหรับการแบ่งหน้าผลลัพธ์
lunakid

2
คำตอบนี้ล้าสมัยแล้ว Youtube API ตอนนี้ 3.0
Jay M

15

แล้วเราจะทำให้ง่ายขึ้นได้อย่างไร ..

ไปที่: http://www.williamsportwebdeveloper.com/FavBackUp.aspx

ใส่ playlist-url ที่คุณต้องการสร้างในรูปแบบ excel นั่นคือทั้งหมด :)

นี่คือภาพตัวอย่างที่ดูเหมือนว่า ส่งออกเพลย์ลิสต์หนังสั้นของฉันซึ่งมีเครดิตไม่เพียงพอที่จะโพสต์ลิงก์ 2 รายการ ป้อนคำอธิบายรูปภาพที่นี่

ผู้สร้าง: 'เว็บแอปพลิเคชันของฉันทั้งหมดใช้ API ของนักพัฒนา YouTube เพื่อรับข้อมูลฟีด คุณสามารถทำสิ่งเดียวกันได้ แต่มันจะอยู่ในรูปแบบ XML ที่ซับซ้อนและไม่สามารถอ่านได้มาก ฉันคิดว่าคนส่วนใหญ่อยากจะมีไว้ในกระดาษคำนวณของ Excel หากคุณไม่มี Microsoft Office คุณสามารถดาวน์โหลด Open Office ได้ฟรี '


1
ใช้งานได้กับเพลย์ลิสต์ทั้งหมดยกเว้นรายการโปรดและรายการที่ชอบ
tobylane

ขอบคุณมากที่ฉันได้รับการมองหาใด ๆวิธีการทำเช่นนี้เป็นเวลา 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. ดาวน์โหลดข้อมูลซื้อกลับบ้านเมื่อพร้อมและแตกไฟล์ไปที่ใดก็ได้
  5. เปิดเซสชัน Powershell และดำเนินการคำสั่งด้านล่าง

สมมติว่าเพลย์ลิสต์เป็นรายการโปรดคุณจะได้รับ Favorites.json สมมติว่าฉันต้องการชื่อเรื่องของวิดีโอแต่ละรายการในเพลย์ลิสต์และลิงก์ไปยังไฟล์ข้อความชื่อ 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 เพลิดเพลิน


ดูเหมือนว่าจะไม่มีการส่งออกเพลย์ลิสต์ส่วนตัว (ฉันเพิ่งได้ 'ชอบ' 'ดูภายหลัง' และอย่างอื่นที่ไม่ใช่เพลย์ลิสต์ที่ฉันค้นหา)
polynomial_donut

นั่นดูแปลก ๆ แต่ก็น่าผิดหวัง บางทีตัวเลือก API ในคำตอบอื่น ๆ อาจเป็นทางออกเดียวเท่านั้น
Remy Lambert


3

คุณสามารถทำได้กับเว็บไซต์ใหม่ที่เราพัฒนาขึ้นhttps://www.tunemymusic.com/

คุณสามารถเลือกส่งออกเพลย์ลิสต์เฉพาะจาก Youtube เพลย์ลิสต์ทั้งหมดและวิดีโอที่คุณชอบทั้งหมด จากนั้นคุณสามารถส่งออกเป็นไฟล์ข้อความฟรี

นอกเหนือจากไฟล์ข้อความเรากำลังดำเนินการเพิ่มตัวเลือกในการส่งออกไปยังไฟล์ csv และ m3u


ฉันใส่ URL เพลย์ลิสต์ของ Youtube ลงไปแล้วไม่มีอะไรเกิดขึ้น
TIX BRANCO

2

ทุกวันนี้มีคำตอบมากมายที่ทำมากกว่าที่คุณต้องการ:

  • http://www.playlist-converter.net/ - แปลงเพลย์ลิสต์ของคุณจากบริการเพลงและรูปแบบไฟล์ต่างๆ

  • https://sourceforge.net/projects/youtubeexport/ - โปรแกรมนี้ใช้เพื่อส่งออกเพลย์ลิสต์ youtube เป็นไฟล์ text หรือ. html

  • https://soundiiz.com/ - อัปโหลดเพลย์ลิสต์จากไฟล์เว็บ URL หรือข้อความธรรมดาโอนรายการโปรดของคุณระหว่างแพลตฟอร์มสตรีมมิ่งทั้งหมดดาวน์โหลดไปยังทุกรูปแบบไฟล์ยอดนิยม

แต่โซลูชันที่มีประสิทธิภาพและสง่างามที่สุดคือในความคิดของฉันที่จะใช้youtube-dlเพราะมีคำสั่งเดียวเช่น (ซึ่งคุณสามารถสร้างตัวเองได้อย่างง่ายดายโดยดูที่เอกสาร) คุณสามารถดาวน์โหลดรายการเพลย์ลิสต์ทั้งหมดของคุณได้ หากคุณสนใจ ... ) โดยป้อนเป็นพารามิเตอร์ URL ของ YouTube ไปยังหน้าที่แสดงเพลย์ลิสต์ทั้งหมดของคุณ (เช่นhttps://www.youtube.com/user/your_user_name/playlists ) ยิ่งไปกว่านั้นมันยังมีตัวเลือกในการขอการรับรองความถูกต้องไปยัง YouTube (ด้วยข้อมูลประจำตัวของคุณ) เพื่อให้สามารถดาวน์โหลดเพลย์ลิสต์ส่วนตัวของคุณได้


1

คุณสามารถสร้างBookmarkletในเบราว์เซอร์ของคุณเพื่อจับคำอธิบายของแต่ละวิดีโอในรายการแล้วพิมพ์ทั้งหมดใน textarea

ตัวอย่างเช่นสคริปต์นี้จะสร้างรายการที่มี 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 หรืออะไรก็ตาม มันไม่ได้สวยงามอย่างแน่นอน แต่ข้อมูลนั้นเป็นข้อมูลสำรอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.