Requests با ارائه یک رابط کاربری ساده و شهودی، پیچیدگیهای پروتکل HTTP را پنهان کرده و به شما اجازه میدهد تا با استفاده از چند خط کد، درخواستهای پیچیدهای را ارسال کنید. این کتابخانه از انواع مختلف روشهای HTTP مانند GET، POST، PUT، DELETE و بسیاری دیگر پشتیبانی میکند و به شما اجازه میدهد تا پارامترها، هدرها و دادههای بدنه درخواست را به راحتی تنظیم کنید. یکی از مهمترین ویژگیهای Requests، قابلیت مدیریت خودکار کوکیها، احراز هویت و دنبال کردن تغییر مسیرها است. این ویژگیها به شما امکان میدهند تا به صورت یکپارچه با وبسایتهایی که نیاز به احراز هویت دارند یا از کوکیها برای مدیریت وضعیت کاربر استفاده میکنند، تعامل کنید. Requests همچنین به شما امکان میدهد تا پاسخهای سرور را به صورت شی دریافت کرده و با استفاده از متدهای مختلف، اطلاعات مفید از آن استخراج کنید. برای مثال، میتوانید کد وضعیت پاسخ، هدرها، و محتوای بدنه پاسخ را به راحتی بررسی کنید.به طور خلاصه، کتابخانه Requests یک ابزار ضروری برای هر برنامهنویسی است که با پایتون کار میکند و میخواهد با وب تعامل داشته باشد. این کتابخانه به شما امکان میدهد تا به صورت آسان و کارآمد، درخواستهای HTTP را ارسال کنید، دادهها را از وب استخراج کنید و با APIهای مختلف کار کنید.
کاربردهای رایج کتابخانه Requests
این کتابخانه به توسعهدهندگان اجازه میدهد تا به سادگی و به طور خودکار با APIهای مختلف ارتباط برقرار کرده، دادهها را از صفحات وب استخراج کنند و عملیاتهای مختلفی را بر روی وب انجام دهند. برخی از کاربردهای رایج Requests به شرح زیر هستند:
- وب اسکرپینگ: استخراج دادههای ساختار یافته و غیرساختار یافته از صفحات وب، مانند قیمت محصولات، اخبار، اطلاعات تماس و ... . این دادهها سپس میتوانند برای تحلیل، پردازش و ذخیره سازی استفاده شوند.
- تعامل با APIها: ارسال درخواست به APIهای مختلف (مانند APIهای شبکههای اجتماعی، سرویسهای ابری، پایگاههای داده و ...) و دریافت پاسخ. این کار به توسعهدهندگان اجازه میدهد تا با استفاده از قابلیتهای این APIها، برنامههای کاربردی خود را گسترش دهند.
- آزمایش APIها: تست عملکرد و قابلیت اطمینان APIها با ارسال درخواستهای مختلف و بررسی پاسخهای دریافتی. این کار به توسعهدهندگان کمک میکند تا از عملکرد صحیح APIها اطمینان حاصل کنند.
- اتوماسیون وظایف: خودکارسازی کارهای تکراری که نیاز به تعامل با وب دارند، مانند ارسال ایمیل، ایجاد تیکت پشتیبانی، به روزرسانی پایگاه داده و ... . این کار به افزایش بهرهوری و کاهش خطای انسانی کمک میکند.
- ساخت ابزارهای خط فرمان: ایجاد ابزارهای خط فرمان برای انجام عملیاتهای مختلف بر روی وب، مانند دانلود فایلها، جستجوی اطلاعات و ... .
- توسعه رباتهای وب: ایجاد رباتهای وب برای انجام وظایف مختلف به صورت خودکار، مانند نظارت بر تغییرات در وبسایتها، جمعآوری دادهها و ... .
مزایای استفاده از کتابخانه Requests چیست؟
کتابخانه Requests در پایتون به دلیل سادگی استفاده، کارایی بالا و ویژگیهای متنوع به گزینهای ایدهآل برای برنامهنویسان پایتون تبدیل شده است. برنامهنویسان به دلیل مزایای شاخص زیر از Requests استفاده میکنند:
- سادگی استفاده: یکی از مهمترین مزایای Requests، سادگی و روانی سینتکس آن است. با استفاده از چند خط کد ساده میتوانید درخواستهای HTTP پیچیدهای را ارسال کرده و پاسخهای سرور را دریافت کنید. این کتابخانه پیچیدگیهای پروتکل HTTP را پنهان کرده و به شما اجازه میدهد تا بر روی منطق اصلی برنامه خود تمرکز کنید.
- کارایی بالا: Requests به دلیل بهینهسازیهای داخلی و استفاده از چندین اتصال همزمان، عملکرد بسیار بالایی دارد. این کتابخانه به شما امکان میدهد تا درخواستهای متعددی را به صورت موازی ارسال کرده و زمان پاسخگویی برنامه خود را کاهش دهید.
- ویژگیهای متنوع: Requests از طیف گستردهای از ویژگیها پشتیبانی میکند که شامل مدیریت کوکیها، احراز هویت، دنبال کردن تغییر مسیرها، ارسال فایلها، تنظیم زمانبندی درخواستها و بسیاری موارد دیگر میشود. این ویژگیها به شما امکان میدهند تا با انواع مختلف وبسرویسها و APIها تعامل داشته باشید.
- جامعه بزرگ: Requests دارای یک جامعه کاربری بسیار بزرگ و فعال است. این جامعه به شما امکان دسترسی به منابع آموزشی فراوان، مثالهای عملی و پشتیبانی فنی را میدهد. همچنین، در صورت مواجه شدن با هرگونه مشکل، میتوانید به راحتی از کمک سایر توسعهدهندگان بهرهمند شوید.
- بروزرسانی مداوم: توسعهدهندگان Requests به طور مداوم در حال بهبود و توسعه این کتابخانه هستند. آنها با اضافه کردن ویژگیهای جدید و رفع باگها، اطمینان حاصل میکنند که Requests همیشه با آخرین استانداردهای وب سازگار باشد.
- پشتیبانی از پروکسیها: Requests به شما اجازه میدهد تا از پروکسیها برای ارسال درخواستها استفاده کنید. این ویژگی برای دور زدن محدودیتهای شبکه و محافظت از حریم خصوصی بسیار مفید است.
- مدیریت خطاهای قدرتمند: Requests دارای مکانیزمهای قدرتمندی برای مدیریت خطاها است. این کتابخانه به شما اجازه میدهد تا خطاهای مختلفی مانند خطاهای شبکه، خطاهای احراز هویت و خطاهای سرور را به صورت سفارشی مدیریت کنید.
به طور کلی، کتابخانه Requests یک ابزار بسیار قدرتمند و انعطافپذیر برای تعامل با وب است. اگر شما به دنبال یک کتابخانه ساده، کارآمد و قابل اعتماد برای ارسال درخواستهای HTTP در پایتون هستید، Requests قطعا بهترین گزینه برای شما خواهد بود.
چگونه کتابخانه Requests در پایتون را نصب کنیم؟
برای نصب کتابخانه مذکور در پایتون از ابزار مدیریت بستههای پایتون، pip استفاده میکنیم. شیوه انجام این کار در زبانهای برنامهنویسی مختلف به شرح زیر است:
باز کردن ترمینال یا خط فرمان:
در سیستمعاملهای ویندوز، میتوانید با فشار دادن کلیدهای Win+R و تایپ کردن cmd ترمینال را باز کنید.
در سیستمعاملهای لینوکس و macOS، معمولا ترمینال از قبل نصب شده است و میتوانید با فشار دادن کلیدهای Ctrl+Alt+T آن را باز کنید.
اجرای دستور نصب:
در ترمینال، دستور زیر را تایپ کرده و سپس اینتر را بزنید:
pip install requests
این دستور به pip میگوید که کتابخانه Requests را از مخزن بستههای پایتون (PyPI) دانلود و نصب کند.
تأیید نصب:
پس از اتمام نصب، میتوانید با وارد کردن کد زیر در یک فایل پایتون و اجرای آن، نصب کتابخانه را تأیید کنید:
import requests
response = requests.get('https://api.example.com')
print(response)
اگر هیچ خطایی دریافت نکردید، به این معنی است که کتابخانه Requests با موفقیت نصب شده است.
استفاده از محیطهای مجازی:
اگر چندین پروژه پایتون دارید و میخواهید برای هر پروژه از نسخههای متفاوتی از کتابخانهها استفاده کنید، توصیه میشود از محیطهای مجازی استفاده کنید. ابزارهایی مانند venv (موجود در پایتون) و virtualenv برای ایجاد محیطهای مجازی استفاده میشوند. به طور مثال، با استفاده از venv نحوه انجام این کار به شرح زیر است:
ایجاد محیط مجازی:
python -m venv my_env
فعال کردن محیط مجازی:
my_env\Scripts\activate
لینوکس/macOS:
source my_env/bin/activate
نصب کتابخانه Requests در محیط مجازی:
pip install requests
نکته: برای خروج از محیط مجازی، دستور deactivate را اجرا کنید.
درخواست GET با کتابخانه Requests در پایتون
درخواست GET یکی از رایجترین روشهای تعامل با سرورهای وب است و برای دریافت داده از یک منبع خاص استفاده میشود. کتابخانه Requests در پایتون ابزاری قدرتمند و ساده برای انجام این کار فراهم میکند. برای ارسال یک درخواست GET با استفاده از کتابخانه Requests به صورت زیر عمل میکنیم:
وارد کردن کتابخانه:
import requests
ارسال درخواست:
response = requests.get('https://api.example.com/data')
در این مثال، ما درخواستی به آدرس https://api.example.com/data ارسال میکنیم.
پاسخ سرور در متغیر response ذخیره میشود. این متغیر حاوی اطلاعاتی مانند کد وضعیت، هدرها و محتوای پاسخ است. برای دسترسی به محتوای پاسخ، میتوانید از ویژگی text یا content استفاده کنید:
# محتوای پاسخ را به صورت متن چاپ میکند
print(response.text)
# محتوای پاسخ را به صورت بایت چاپ میکند
print(response.content)
قطعه کد کال استفاده از دستور GET را میتوان شبیه به مثال زیر نوشت:
import requests
url = 'https://api.github.com/users/defunkt'
response = requests.get(url)
if response.status_code == 200:
user_data = response.json()
print(user_data['name'])
print(user_data['location'])
else:
print('Error:', response.status_code)
در این مثال، ما اطلاعات کاربری defunkt را از API گیتهاب دریافت میکنیم. اگر درخواست با موفقیت انجام شود، کد وضعیت 200 خواهد بود و ما میتوانیم اطلاعات کاربر را از شیء JSON استخراج کنیم. هنگامی که از Get استفاده میکنید، به این نکته توجه داشته باشید که امکان استفاده از پارامترهای اضافی در درخواست GET وجود دارد. برای ارسال پارامترها در یک آدرس اینترنتی، از یک دیکشنری به شرح زیر استفاده میکنیم:
params = {'q': 'python', 'sort': 'stars'}
response = requests.get('https://api.github.com/search/repositories', params=params)
هدرها: برای ارسال هدرهای سفارشی، از یک دیکشنری به صورت زیر عمل میکنیم:
headers = {'User-Agent': 'My App'}
response = requests.get('https://api.example.com', headers=headers)
تایم آوت: برای تنظیم زمان انتظار برای پاسخ سرور، از آرگومان timeout استفاده کنید:
response = requests.get('https://api.example.com', timeout=5)
هنگامی که از دستور فوق استفاده میکنید مهم است به کدهای بازگشتی دقت کنید که هریک معنای خاص خود را دارند. کد وضعیت پاسخ، اطلاعاتی در مورد نتیجه درخواست میدهد. برخی از کدهای وضعیت رایج به شرح زیر هستند:
200 OK: درخواست با موفقیت انجام شده است.
404 Not Found: منبع مورد نظر یافت نشد.
500 Internal Server Error: خطایی در سرور رخ داده است.
به طور کلی ما از درخواست GET با هدف دریافت داده از APIها استفاده میکنیم. بسیاری از APIها از روش GET برای ارائه دادهها استفاده میکنند. همچنین، در زمینه استخراج اطلاعات از صفحات وب و بررسی اینکه آیا یک سرور آنلاین است یا خیر نیز از دستور فوق استفاده میکنیم. البته، هنگام استفاده از دستور فوق باید به چند نکته مهم دقت کنید. هنگام ارسال درخواستهای GET، مراقب اطلاعات حساسی باشید که در URL قرار میدهید. برخی از سرورها محدودیتهایی برای طول URL دارند. برای بهبود سرعت، میتوانید از چندین اتصال همزمان استفاده کنید. با استفاده از کتابخانه Requests، میتوانید به راحتی و به صورت خودکار با سرورهای وب تعامل کنید و دادههای مورد نیاز خود را دریافت کنید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟