Mohammad Ali Heydari
Mohammad Ali Heydari
خواندن ۲ دقیقه·۳ سال پیش

دانلود محتوای یوتوب و آپلودش روی آپارات با پایتون و بش

سلام،

آقا از زمانی که گفتن صیانت و این چیزا من نت وای فایم کلا ضعیف شد انگار، بطوری که الان سرعتم وقتی با vpn میرم یوتوب در حد 30 کیلوبایت هست تو آپارات حدود 700 کیلوبایت. خب با این نت نمیشد یوتوب چیزی دید و اذیت میکرد. منم برنامه داشتم یه کورس استنفورد و یک کورس برکلی رو ببینم و خب این داشت مانع میشد. گفتیم چیکار کنیم چیکار نکنیم،‌ ایده زد که آقا فیلمای یوتوب رو تو آپارات آپلود کن ://.

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

حالا از داستان بگذریم و بریم سراغ کاری که کردیم. برای این جابجایی اول باید ویدئو هارو از یوتوب دانلود میکردیم. پس اول باید youtube-dl رو نصب کنیم از این دستور میشه استفاده کرد:


من پلی لیستی که میخواستم دانلود کنم برای کورس cs285 برکلی بود که ۱۰۴ تا فکر کنم ویدئو توش هست. حالا از داک خود youtube-dl میتونید بخونید ولی کلا دستورمو من به این شکل زدم.

خب حالا ویدئوها خودش دانلود میشه و با اون حالتی که مشخص کردیم ذخیره میشه. وقتشه که اینارو تو آپارات آپلودشون کنیم. برای اینکار هم توصیه میکنم به خود داک api آپارات سر بزنید. ولی حالا بطور کلی باید برای این کار یک حساب کاربری آپارات با username, password داشته باشید. بعد token اکانتمون رو با یکی از api ها استخراج میکنیم و بعد با استفاده از token استخراج شده ویدئوهای دانلود شده رو آپلود میکنیم.

کدها خیلی ریز شد و قابل کپی نیست. برای همین فایلشونو میذارم.

حالا وقت این بود که اینا رو یه جایی رو سروری چیزی بذارم. من حالا خودم AWS داشتم و یه EC2 ساختم از اون استفاده کردم. ولی بطور کلی شما میتونید از pythonanywhere یا colab یا هر سرور ابری ای استفاده کنید. فقط چیزی که میدونم از کلب نمیشه به آپارات request زد برای همین باید از این پروکسی free های استفاده کنید. فقط یکم باید بگردید پروکسی گیر بیارید. این سایت خوبه: free-proxy-list.

برای pythonanywhere هم هنوز aparat رو تو whitelist قرار ندادن که البته من درخواست دادم بذارن احتمالا تا یکی دو روز دیگه از اونم میشه بدون مشکل استفاده کرد.

حتی میتونید از کامپیوتر شخصی هم استفاده کنید، ولی point قضیه اینجاست که اینترنت این سرویس ها سریعه ://

https://gist.github.com/ostadgeorge/ee193ae2108b771aecb9ba8b60caf91d

شاید از این پست‌ها خوشتان بیاید