Savify عبارة عن مكتبة بلغة python تقوم بتنزيل الأغاني من موفر محدد (افتراضيًا YouTube)، ثم تقوم باستخلاص المعلومات التعريفية من Spotify. عند وجود استفسار، سوف يقوم Savify بالعثور على الأغاني وتنزيلها بتنسيق mp3 بجودة تصل إلى 320 كيلو بايت/ثانية ! سيقوم التطبيق أيضًا بكشط علامات id3v2 وكتابتها على جميع أغانيك. تتضمن العلامات العنوان والفنانين والسنة والألبوم وحتى غلاف فني!
يدعم Savify جميع روابط الأغاني والألبومات وقوائم التشغيل الخاصة بـ Spotify. بالإضافة إلى ذلك، هناك وظيفة بحث متكاملة ، لذلك حتى إذا لم يكن لديك رابط Spotify، يمكنك ببساطة إدخال اسم الأغنية وسيقوم Savify بتنزيلها!
بالإضافة إلى ملفات mp3، يمكن لـ Savify أيضًا التنزيل والتحويل إلى أنواع ملفات أخرى. داخل التطبيق، يمكنك تحديد التنسيق والجودة التي ترغب في تنزيل الأغنية بها لتحقيق أقصى قدر من التوافق عبر جميع أجهزتك. التنسيقات المتوفرة: mp3، aac، flac، m4a، opus، vorbis، وwav. سيتم تطبيق العلامات وصورة الغلاف فقط على الأغاني التي تم تنزيلها بتنسيق mp3.
يرجى ملاحظة أن هذه المكتبة لا تتعارض مع شروط خدمة Spotify بأي شكل من الأشكال، ولا يتم نسخ الأغاني مباشرة من Spotify، ولكن يتم تنزيلها بدلاً من ذلك من مصادر أخرى مثل YouTube وSoundcloud باستخدام مكتبة youtube-dl python. يتم استخدام Spotify فقط لجمع معلومات تعريفية دقيقة ليتم تضمينها في ملفات الأغاني التي تم تنزيلها.
تفضل بزيارة مستودع صور Docker Hub الرسمي الخاص بنا واحصل على أحدث صورة من Docker: https://hub.docker.com/repository/docker/laurencerawlings/savify
أي أسئلة أو تعليقات انضم إلى Discord Server
يعتمد Savify على مكتبة FFmpeg مفتوحة المصدر لتحويل البيانات الوصفية وكتابتها إلى الأغاني التي يقوم بتنزيلها. الرجاء التأكد من تثبيت FFmpeg على جهاز الكمبيوتر الخاص بك وإضافته إلى مسار النظام. اتبع البرنامج التعليمي هنا.
إذا كنت تريد استخدام Savify لتنزيل قوائم تشغيل Spotify الشخصية، فتأكد من تعيين مستوى رؤيتها على "عام". وذلك حتى يتمكن Savify من استخدام Spotify API لاسترداد تفاصيل الأغنية من قائمة التشغيل الخاصة بك.
إذا كنت تستخدم نظام التشغيل Windows، فيمكنك تنزيل أحدث حزمة قابلة للتنفيذ معدة مسبقًا (والتي أوصي بها لأنك لن تضطر إلى توفير مفتاح Savify API)، أو يمكنك تنزيل مكتبة python وتشغيل الوحدة مباشرةً باستخدام واجهة سطر الأوامر (CLI).
انتقل هنا لتنزيل أحدث إصدار من Savify.exe ثم تأكد من أن لديك:
تم تنزيل FFmpeg وإضافته إلى المسار الخاص بك
تمت إضافة بيانات اعتماد Spotify API إلى متغيرات البيئة الخاصة بك
هذا هو كل شيء، يجب أن تكون على ما يرام! انظر بعض أمثلة الاستخدام أدناه.
$ pip install -U savify
قم باستنساخ المستودع وتأكد من وجودك في الدليل الجذر. قم بتنفيذ أمر الإنشاء التالي:
$ docker build -t savify:dev .
يدعم Savify حاليًا عناوين URL واستعلامات البحث الخاصة بـ Spotify فقط، ولكن ستتم إضافة دعم عناوين URI الخاصة بـ Spotify في المستقبل.
إذا قمت بتنزيل أحدث إصدار من Savify.exe من صفحة الإصدارات، فافتح جهازك الطرفي وانتقل إلى نفس الدليل مثل الملف الثنائي، ثم يمكنك تشغيل:
$ Savify.exe
إذا كنت تستخدم حزمة Python وتم تثبيت savify على حزم موقعك وكان مجلد النقطة الخاص بك موجودًا في PATH (والذي يجب أن يكون افتراضيًا)، فمن أي مكان يمكنك ببساطة تشغيل:
$ savify
للمساعدة في تشغيل:
$ savify --help
باستخدام الافتراضي أعلاه:
$ savify "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI"
تحديد خياراتك الخاصة:
$ savify "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI" -q best -f mp3 -o "/path/to/downloads" -g "%artist%/%album%"
مع استعلام البحث:
$ savify "You & I - Bru-C" -t track -q best -f mp3 -o "/path/to/downloads" -g "%artist%/%album%"
المتغيرات المتاحة: %artist%, %album%, %playlist%
على سبيل المثال:
$ savify "You & I - Bru-C" -o /path/to/downloads -g "%artist%/%album%"
سيتم التنزيل في بنية الدليل التالية:
/ المسار / إلى / التنزيلات | |- /برو-C | |- /الأصوات الأصلية | |- Bru-C - أنت وأنا.mp3
نوع الاستعلام: | مسار |
---|---|
جودة: | أفضل |
شكل: | mp3 |
طريق: | ويندوز: الصفحة الرئيسية/AppData/التجوال/Savify/التنزيلات لينكس: الصفحة الرئيسية/.local/share/Savify/downloads نظام التشغيل MacOS: الصفحة الرئيسية/المكتبة/دعم التطبيقات/حفظ/التنزيلات |
التجميع: | لا يوجد تجمع |
لمزيد من أمثلة الاستخدام، اقرأ المستندات.
قم بتشغيل savify داخل حاوية يمكن أيضًا توصيلها بشبكات الحاويات الأخرى. يعد هذا مفيدًا إذا كنت تريد تشغيل مثيلات متعددة للحفظ و/أو تريد استخدام شبكات VPN للتنزيل. يمكنك استخدام صورة Docker التي أنشأتها بنفسك أو الصورة الرسمية. تأكد من استخدام اسم وعلامة صورة Docker الصحيحة.
$ docker run laurencerawlings/savify:latest
إذا لم يتم تحديد أي وسيطة، فستقوم الحاوية بطباعة صفحة المساعدة. ما عليك سوى إلحاق الوسائط الخاصة بك، وتأكد من تحميل مجلد من مضيفك بحيث تكون التنزيلات مستمرة ( -v
) - يُستخدم pwd
لتركيب الدليل الحالي الذي أنت فيه - وإزالة الحاوية عند الانتهاء ( --rm
). يجب عليك تحديد معرف عميل Spotify والسر الخاص بك باستخدام متغيرات البيئة ( -e
):
$ docker run --rm -v "`pwd`:/root/.local/share/Savify/downloads" -e SPOTIPY_CLIENT_ID=client_id -e SPOTIPY_CLIENT_SECRET=client_secret lauencerawlings/savify:latest "https://open.spotify.com/playlist/..."
إذا كنت تريد الاحتفاظ بسجلاتك، فيمكنك تحميل دليل التسجيل ببساطة عن طريق إضافة الوسيطة التالية إلى أمر تشغيل عامل الإرساء: -v "./logs:/root/.local/share/Savify/logs"
الأتمتة باستخدام برنامج نصي Shell:
$ nano savify.sh
#!/bin/bashdocker run --rm -v "`pwd`:/root/.local/share/Savify/downloads" -e SPOTIPY_CLIENT_ID=client_id -e SPOTIPY_CLIENT_SECRET=client_secret Laurencerawlings/savify:آخر $1
ثم قم بالتشغيل مع:
$ sh savify.sh "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI"
لديك أيضًا خيار البدء السريع باستخدام برنامج الإرساء النصي الخاص بنا والذي يحتوي على فحص VPN متكامل لمعرفة ما إذا كانت هناك أي حاويات VPN يمكن للبرنامج النصي الاتصال بها. يعد النص مثاليًا للجدولة باستخدام cron:
$ wget https://github.com/laurencerawlings/savify/latest/download/savify-docker-scripts.zip $ فك الضغط savify-docker-scripts.zip && rm savify-docker-scripts.zip $ قرص مضغوط savify-docker-scripts/
يتعين عليك بعد ذلك تحرير ملف التكوين باستخدام محرر النصوص المفضل لديك (نفضل nano)، وحفظه (Ctrl + X، Y لحفظ التغييرات في nano) وإعادة تسميته إلى config.sh
.
$ نانو template.config.sh $ mv template.config.sh config.sh
يمكنك بعد ذلك تشغيل البرنامج النصي:
$ باش السائبة-download.sh
لاستخدام وحدة Savify Python، ستحتاج إلى تطبيق مطور Spotify الخاص بك للوصول إلى واجهة برمجة التطبيقات (API) الخاصة بهم. للقيام بهذا قم بالتسجيل هنا. عندما تقوم بتقديم طلب جديد، قم بتدوين معرف العميل الخاص بك والسرية. يمكنك تمرير المعرف والسر إلى Savify بطريقتين:
أنت الآن بحاجة إلى إضافة متغيرين للبيئة إلى نظامك:
SPOTIPY_CLIENT_ID
SPOTIPY_CLIENT_SECRET
لمعرفة كيفية القيام بذلك، ابحث عن برنامج تعليمي عبر الإنترنت لنظام التشغيل المحدد الخاص بك. بمجرد الانتهاء من ذلك تأكد من إعادة تشغيل الصدفة الخاصة بك.
يمكنك تمرير معرفك وسرك باستخدام صف عند إنشاء كائن Savify الخاص بك:
s = Savify(api_credentials=("CLIENT_ID"،"CLIENT_SECRET"))
قم بتثبيت الحزمة على بيئتك:
$ pip install savify
استيراد واستخدام Savify:
from savify import Savifyfrom savify.types import Type, Format, Qualitys = Savify()# Spotify URLs.download("SPOTIFY URL")# استعلام البحث# الأنواع: TRACK، ALBUM، PLAYLISTs.download("QUERY"، query_type=Type. مسار)
حفظ وسيطات المُنشئ الاختيارية (انظر أعلاه لمعرفة الإعدادات الافتراضية):
تسجيل الاستيراد من savify استيراد Savify من savify.types نوع الاستيراد والتنسيق والجودة من savify.utils قم باستيراد PathHolder # خيارات الجودة: الأسوأ، Q32K، Q96K، Q128K، Q192K، Q256K، Q320K، الأفضل # خيارات التنسيق: MP3، AAC، FLAC، M4A، OPUS، VORBIS، WAV Savify(api_credentials=لا شيء، الجودة=Quality.BEST، download_format=Format.MP3، path_holder=PathHolder(downloads_path='path/for/downloads')، المجموعة='%artist%/%album%'، هادئ=False، Skip_cover_art =خطأ، log_level=logging.INFO)
تخصيص خيارات youtube-dl يدويًا:
من savify import Savifyoptions = {'cookiefile': 'cookies.txt'}Savify(ydl_options=options)
تمرير المسجل الخاص بك:
من savify import Savifyfrom savify.logger import Loggerlogger = Logger(log_location='path/for/logs', log_level=None) # SilentputSavify(logger=logger)
يتم استخدام وسيطة المجموعة لفرز الأغاني التي قمت بتنزيلها داخل مسار الإخراج. المتغيرات المحتملة لسلسلة المسار هي: %artist%، و%album%، و%playlist%. يتم استبدال المتغيرات بالبيانات الوصفية للأغاني. على سبيل المثال، سيتم حفظ الأغنية التي تم تنزيلها باستخدام كائن Savify أعلاه في مسار مثل هذا: path/for/downloads/Example Artist/Example Album/Example Song.mp3
إذا كنت تريد تجربة الإضافة إلى Savify، استخدم الإرشادات الموجودة هنا. ومن هناك يمكنك إجراء أي إضافات تعتقد أنها ستجعل Savify أفضل.
إذا كنت تقوم بتطوير Savify، فقم بتثبيت حزمة النقطة محليًا حتى تتمكن من إجراء التغييرات واختبارها. من الدليل الجذر قم بتشغيل:
$ pip install -e .
يمكنك بعد ذلك تشغيل وحدة بايثون:
$ savify
تم إنشاء هذه الحزمة باستخدام Cookiecutter وقالب مشروع audreyr/cookiecutter-pypackage.