كيفية استخراج عناوين وروابط فيديوهات من قائمة تشغيل يوتيوب وتحويلها إلى ملفات Markdown
في هذا الشرح البسيط، سنتعلم كيف نحصل على قائمة منظمة من عناوين وروابط فيديوهات من قائمة تشغيل على يوتيوب باستخدام أداة yt-dlp
، ثم نحول هذه القائمة إلى ملفات Markdown مرتبة تلقائيًا.
المتطلبات
قبل أن نبدأ، تأكد من تثبيت الأدوات التالية:
تثبيت jq
على macOS:
على Ubuntu/Debian:
استخراج العناوين والروابط من قائمة تشغيل
استخدم الأمر التالي للحصول على قائمة العناوين وروابط الفيديوهات:
1
yt-dlp --flat-playlist -J "رابط_قائمة_التشغيل" | jq -r '.entries[] | "\(.title)\nhttps://www.youtube.com/watch?v=\(.id)\n"'
مثال عملي:
1
yt-dlp --flat-playlist -J "https://youtube.com/playlist?list=PLvGNfY-tFUN8D7uAQzkBfMkJ7XAFWSsIv" | jq -r '.entries[] | "\(.title)\nhttps://www.youtube.com/watch?v=\(.id)\n"' > videos.txt
سيتم إنشاء ملف videos.txt
يحتوي على:
عنوان الفيديو الأول
رابط الفيديو الأول
عنوان الفيديو الثاني
رابط الفيديو الثاني
...
تحويل القائمة إلى ملفات Markdown
بعد حفظ الملف السابق كـ videos.txt
، استخدم السكربت التالي لتحويل كل فيديو إلى ملف Markdown باسم 1.md
, 2.md
، إلخ.
📜 سكربت Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
input = "videos.txt"
count = 1
while IFS = read -r title && IFS = read -r link; do
cat <<EOF > "${count}.md"
---
title: "$title"
link: $link
weight: $count
---
EOF
(( count++))
done < " $input "
طريقة الاستخدام:
انسخ القائمة من yt-dlp إلى ملف باسم videos.txt
احفظ السكربت أعلاه في ملف باسم generate-md.sh
اجعل السكربت قابلًا للتنفيذ:
1
chmod +x generate-md.sh
ثم شغّله:
النتيجة
سيتم إنشاء ملفات Markdown مثل:
1
2
3
4
1.md
2.md
3.md
...
وكل ملف يحتوي على Front Matter بشكل منظم:
1
2
3
4
5
---
title: "عنوان الفيديو"
link: https://www.youtube.com/watch?v=XXXXX
weight: 1
---
ملاحظات إضافية
يمكنك استخدام هذه الملفات ضمن موقع Hugo أو أي نظام تدوين آخر.
الـ weight
مفيد لترتيب العناصر في القوائم.
يمكنك التعديل على الـ Front Matter بحسب النظام الذي تستخدمه.
المصادر