Ehsan Shahbazi
Ehsan Shahbazi
خواندن ۲ دقیقه·۳ ماه پیش

کست باکس دانلودر شیک و مجلسی!

fmy code downloading podcast and audio file from castbox app wich one is have podcasts. make it modern dark theme
fmy code downloading podcast and audio file from castbox app wich one is have podcasts. make it modern dark theme

توضیح علت نوشتن اسکریپت

چند سالیه که برای گوش دادن به پادکست و کتاب صوتی، از اپلیکیشن کست باکس (castbox) استفاده میکنم. گاهی وقتا نیاز بود فایلی رو دانلود کنم و به موزیک پلیر یا فلش بزنم و تو ماشین یا جایی که دسترسی بهش ندارم گوش کنم ولی این امکان وجود نداشت. یه راه دیگه بود که تو گوشی های اندرویدی میشد از داخل برنامه فایل هارو دانلود کرد بعد از پوشه برنامه پیداشون کرد.

کست باکس برنامه ای برای گوش دادن به پادکست و کتاب صوتی
کست باکس برنامه ای برای گوش دادن به پادکست و کتاب صوتی

برای دانلود فایل از کست باکس، مثل اپلیکیشن های اسپاتیفای، ساوندکلاد و بقیه که دانلودر و api دارن، این نداشت. برای همین سخت بود دانلود کرد فایل از اون. برای همون دیگه گفتم بشینم تلاش کنم ببینم چطوری میتونم براش دانلودر بنویسم. برای همین نتیجه این اسکریپت در اومد.

توضیح کلی اسکریپت

چون api و کد خاصی وجود نداشت مجبور به نوشتن و تکیه به خود کردیم. ورودی لینک اپیزود یا فایل صوتی که میخواین دانلود کنید رو میگیره. بعد ازتون یه timeout میگیره که چقدر صبر کنه تا فایل لود بشه. این بستگی به وضعیت اینترنتتون داره. اگه اینترنتتون مشکلی نداره default میشه و اگه لینک دادین و دانلود نشد میتونید عدد رو بیشتر کنید.

به طور مثال میخوایم یه فایل موسیقی رو از یه کانال کست باکس دانلود کنیم:

چنلی برای کلیه آهنگ های sleep token
چنلی برای کلیه آهنگ های sleep token

یه قطعه موسیقی رو از sleep token که انرژی میده میخوایم دانلود کنیم. لینک رو از گوشی یا از سایت کپی میکنیم و به برنامه میدیم. (کاور آهنگ ها هم خیلی خوشگلن، برای همین اونارو هم نوشتم دانلود کنه)

ورودی لینک آهنگ مورد نظر
ورودی لینک آهنگ مورد نظر

بعدش فایل صوتی رو با بالاترین کیفیت و کاور آهنگ رو دانلود میکنه:

کاور و فایل صوتی دانلود شده
کاور و فایل صوتی دانلود شده

خواستم توضیح بدم که چطوری دانلود کردم و دسترسی به فایل هارو پیدا کردم ولی حوصله اش رو ندارم. در آینده اگه وقت و حوصله پیدا کردم حتما ادیت میکنم و مینویسم.

دوباره بگم همه این اسکریپت ها مصرف شخصی بوده و برای همین کلا یه بار نوشتم و برنگشتم بهینه دوباره یا دیباگ عمیق کنم. البته باز امکانات خیلی زیادی میشه اضافه کرد مثل دانلود کلیه فایل های یه کانال، پادکست و ... یا دانلود تایم دار، لیست کامنت ها، اطلاعات کامل یه کانال، کاربر و ... ولی خب دیدم در این زمان به اینا نیاز ندارم ننوشتم.

نمای کلی از سورس کد

نمای کلی از سورس کد
نمای کلی از سورس کد

در آینده وقت کنم براش ربات تلگرام مینویسم که استفاده عمومی بشه چون توی این دو سال که چند تا چنل داشتم و آهنگ هارو میزاشتم خیلی از دوستان پرسیده بودن چطوری میتونیم دانلود کنیم.

سورس کد رو میتونی توی github پیدا کنی :)

پادکستپایتونبرنامه نویسیهوش مصنوعیکدنویسی
Github: @EhsanShahbazii - Telegram: @ehsandevv
🟢 انتشارات روزمرگی برنامه نویسان را دنبال کنید. این انتشارات توسط وب سایت آواسام پشتیبانی میشود. https://avasam.ir
شاید از این پست‌ها خوشتان بیاید