-
شنبه, ۲۴ اسفند ۱۳۹۸، ۰۸:۵۴ ب.ظ
-
۱۲۷۴
نوشتن یک دانلودر ساده در پایتون
درود به همه !
بازم ما اومدیم با یه اسکریپت پایتونی باحال :) .
راستش ماجرا از حدودا چند روز پیش شروع شد . بله طبق معمول در قرنطینه بودیم و حوصلمون حسابی سر رفته بود . به خاطر یه سری مسایل با یکی از دوستان پایتون دوستمون به این نتیجه رسیدیم یه دانلودری با پایتون بسازیم که یه لیست لینک بهش بدیم و خودش تمامشو خودکار دانلود کنه. نشستیمو یه اسکریپت کوچیک پایتونی نوشتیم که میایم لیست لینک ها رو میریزیم داخل یه فایل متنی و میدیم بهش خودش تمامشو برامون دانلود میکنه. راستش به کار ما که خیلی اومد هر شب کلی فیلم باهاش دانلود میکنیم . همین الانشم یه لیست لینک از فیلم ها آماده کردیم خدابخواد شبو نصفه شب و ... میزاریم دانلود شه خودکار . :)
خب داستان بسه بریم سراغ اسکریپت
اول یه فایل پایتونی درست میکنیم و بعد سورس زیر رو مینویسیم داخلش :
import requests
def download(link,name): file = requests.get(link) if file.status_code != 200: return False f = open(name,"wb") f.write(file.content) f.close() return True
link = input("Link : ") name = input("Name : ")
result = download(link,name)
if result: print ("Ok !") else: print("Error !")
خب پس از نوشتن سورس نیازه تا کتابخونه ی مورد نیازشو نصب کنیم . این سورس برای دانلود فایل ها از کتابخونه ی requests استفاده میکنه که الان توضیح میدیم سورس رو .
برای نصب کتاب خونه در لینوکس :
MrPython@debian:~$ pip3 install requests
و برای نصب کتابخونه در ویندوز :
C:\> pip install requests
خب حالا اسکریپت آماده ی اجرا شدنه فقط قبلش یه توضیحی در مورد سورس کد بدم . اول که کتابخونه ی requests رو وارد برنامه کردیم .
بعد یه تابع به نام download نوشتیم که کارش دانلود کردن فایله و دوتا ورودی داره یکی لینک هستش که قراره بگیره و یکی هم نام فایل هست که پس از دانلود فایل رو به چه نامی ذخیرش کنه. بعد از اینکه ورودی هارو گرفت میاد با استفاده از تابع get در کتابخانه ی requests فایل رو دانلود میکنه و اونو مینویسه داخل یه فایلی به همون نامی که توی ورودی بهش دادیم و نهایتا فایل ما دانلود و ساخته میشه .
این از تابع
بعد اول برنامه دوتا ورودی از کاربر گرفتیم یکی لینک دانلود و یکی هم همون نام فایل که قراره بدیم به تابع .
بعدش تابع download فراخونی میشه و لینک و نامی که گرفتیم در ورودی داده میشه بهش و فایل رو برامون دانلود میکنه .
اون شرط های آخر برنامه هم که معلومه اگه تابع True رو برگردوند یعنی فایل دانلود شده و اگه False برگردوند یعنی ارور داره و دانلود نشده (حالا به هر دلیلی).
اینم از این اسکریپت .
ولی اگه یادتون باشه گفتم که ما یه اسکریپت نوشتیم که یه لیست از لینک ها رو بهش میدیم و برامون دانلود میکنه .
برای تمرین همین اسکریپت رو پیشرفتش بدین و به جای اینکه لینک رو در ورودی بگیرین ، بنویسین داخل یه فایل متنی و از اون فایل بخونین داخل برنامه ویکی یکی دانلود کنین .
اگه تونستین این کارو بکنین برام اسکریپتشو ایمیل کنین به آدرس hossein.ajib.98@gmail.com میزارم روی وبلاگ .
در پست بعدی اسکریپتی که گفتمو به طور کامل مینویسیم باهم .
شاد باشین !
یا حق !
-------------------------------------------------------
مرسی از دوست پایتون دوست : [+] DELSY [+]