در این آموزش کار با ۲ ماژول قدرتمند برای دانلود هر فایلی با پایتون را یاد میگیریم. با این روشها میتوانید فایلها را از url موردنظر در اینترنت دانلود کرده و آن را با نام دلخواهتان در مسیر دلخواه ذخیره کنید.
ماژولها و روشهای مختلفی برای دانلود فایل از اینترنت در پایتون وجود دارد. همانطور که میدانید، هر فایلی از یکسری کد تشکیل شده که محتوای فایل را مشخص میکند. در یک نگاه ساده، دانلود فایل یعنی انتقال این محتوا از روی اینترنت به کامپیوتر خودمان!
روش اول یک تابع ساده اما کاربردی است که فایل مورد نظرمان را دانلود و ذخیره میکند. در روش دوم، عملیات دانلود و ایجاد فایل جدید را خودمان انجام میدهیم؛ بنابراین احتمالاً دستمان بیشتر باز خواهد بود.
فهرست محتوای آموزش
کتابخانه urllib در پایتون توابع مختلفی برای کار با URLهای وب ارائه میکند. از تجزیه و تحلیل و ارسال درخواست به یک صفحه وب گرفته تا دانلود یک فایل از اینترنت!
در این آموزش فقط با یکی از این توابع کار میکنیم. در آموزشی جداگانه در مورد چند تا از امکانات کاربردی این ماژول صحبت خواهم کرد.
اگر نصب پایتون را بهطور عادی انجام داده باشید، این کتابخانه روی سیستم شما نصب شده است؛ بنابراین فقط کافی است آن را در ابتدای کدمان وارد کنیم. ما فقط با ماژول request در این کتابخانه کار داریم، پس صرفاً همین یک ماژول را import میکنم:
from urllib import request
اگر با ماژولها آشنا نیستید یا نمیدانید چطور از آنها استفاده کنید، میتوانید آموزش ماژول در پایتون را برای یادگیری بیشتر ببینید.
برای دانلود فایل با urllib در پایتون از تابع urlretrieve()
استفاده میکنیم. این تابع دو ورودی اجباری میگیرد:
در اینجا یک متغیر پایتون به نام url تعریف میکنم که آدرس عکس همین آموزش را مشخص میکند. در قطعه کد زیر، این عکس را روی سیستم دانلود و در کنار فایل کد ذخیره میکنیم.
from urllib import request
url = "https://sabzdanesh.com/Uploads/2022/02/Download-Files-with-Python-Tutorial.jpg"
request.urlretrieve(url, "sabzdanesh.com_Download-with-python.jpg")
اگر دقت کنید میبینید که حتماً لازم نیست اسم فایل اصلی با فایلی که ذخیره میشود یکسان باشد. میتوانیم هر اسمی را برای فایل نهایی در کامپیوترمان تعیین کنیم.
در مستندات این ماژول (نسخه 3 پایتون) گفته شده که «ممکن است» این ماژول در آینده منسوخ شود! به نظر من با اینکه کلمه «ممکن» احتمالاً هیچ وقت به نتیجه نرسد (!) میتوانید از این روش در پروژههای کوچک و متوسط خودتان استفاده کنید. اما اگر احساس میکنید در آینده برایتان مشکلی ایجاد شود، روش بعدی انتخاب بهتری است.
ماژول requests امکانات و توابع فوقالعادهای برای کار با وب در اختیار ما میگذارد. اگر در برنامههای خود با وب سروکار دارید، حتماً پیشنهاد میکنم این ماژول را با جزئیات بیشتری یاد بگیرید. سون لرن • آموزش...
برچسب : نویسنده : استخدام کار 7learn بازدید : 218