آموزش کامل کتابخانه requests در پایتون: استفاده از ریکوئست در پایتون
فهرست مطالب این نوشته
Toggleکتابخانه requests در پایتون برای تعامل با وب، APIها یا استخراج داده از سایتها استفاده میشود. در حوزه ارتباط با دنیای وب از طریق پروتکل HTTP این کتابخانه جزو محبوبترینها است. سادگی و قدرت، دو ویژگی مهم کتابخانه Requests هستند که اهمیت یادگیری آن را بیشتر میکنند. اگر برایتان سؤال است که کتابخانه requests در پایتون چیست؟ باید گفت این کتابخانه امکان ارسال انواع درخواستهای HTTP را تنها با چند خط کد فراهم میکند.
در این مطلب همهچیز را درباره requests پایتون، از نصب تا استفادههای پیشرفته یاد میگیرید که یک مسیر کامل برای یادگیری کتابخانه requests پایتون محسوب میشود. در این مطلب همهچیز را درباره کتابخانه requests در پایتون، از نصب تا استفادههای پیشرفته یاد میگیرید.

نصب کتابخانه requests در پایتون
برای نصب کتابخانه requests در پایتون python در ترمینال دستور زیر را وارد کنید:
pip install requests
این دستور ساده در واقع روش دانلود کتابخانه Requests در پایتون نیز محسوب میشود.
یک نکته در حوزه آموزش نصب کتابخانه requests در پایتون وجود دارد و آن هم این است که این کتابخانه به صورت رسمی در PyPI قرار دارد و فقط با همین دستور ساده نصب میشود.
البته در بعضی محیطها مثل Jupyter یا Anaconda ممکن است نیاز باشد که ! را قبل از دستور قرار دهید:
!pip install requests
آشنایی با ساختار کلی درخواستها
حالا که نصب انجام شد، بیایید ببینیم چطور میتوان یک درخواست سادهی GET به یک سایت ارسال کرد. فرض کنید میخواهید اطلاعاتی از سایت GeeksforGeeks دریافت کنید:
import requests
response = requests.get(“https://www.geeksforgeeks.org/”)
print(response.status_code)
در این بخش عملاً وارد فاز آموزش requests شدهاید و اولین درخواست HTTP خود را ارسال میکنید.
کاربرد کتابخانه request چیست؟
یک سوال تکراری توسعهدهندگان تازهکار این است که: کاربرد کتابخانه request چیست؟ برای پاسخ به این سوال در این قسمت میخواهیم مهمترین کاربردهای این کتابخانه را معرفی کنیم:
- دریافت اطلاعات از سایتها (web scraping)
- ارسال داده به سرورها (فرمها یا JSON)
- تعامل با APIها (به خصوص REST APIs)
- دانلود فایلها از وب
تمام این موارد بخشی از کاربردهای اصلی requests پایتون در پروژههای واقعی هستند.
متدهای HTTP که میتوانید استفاده کنید
یکی از ویژگیهای کتابخانه requests در پایتون، پشتیبانی کامل از متدهای HTTP است. شما میتوانید از این متدها استفاده کنید:
- GET برای دریافت داده
- POST برای ارسال داده
- PUT برای بروزرسانی کامل
- PATCH برای بروزرسانی جزئی
- DELETE برای حذف
- HEAD برای دریافت فقط هدرها
در آموزش کتابخانه requests در پایتون این متدها پایهی اصلی ارسال درخواست محسوب میشوند.
آشنایی با شیء Response
بعد از ارسال هر درخواست، یک شیء از کلاس Response به شما بازمیگردد. این شیء در واقع نمایندهای از پاسخ سرور است و اطلاعات زیادی در خودش دارد.
برای مثال:
response = requests.get(“https://api.github.com/users/naveenkrnl”)
print(response.status_code)
print(response.headers)
print(response.text)
print(response.json())
با استفاده از متد json() میتوانید به راحتی محتوای JSON پاسخ را به دیکشنری پایتون تبدیل کنید. کتابخانه requests در پایتون json به شدت کاربردی است. این بخش خلاصه کتابخانه requests در پایتون در حوزه دریافت داده از APIها را نشان میدهد.
استفاده از پارامترها و هدرها
برای جستجو، فیلتر کردن یا شخصیسازی درخواست، باید پارامترهای Query و هدرها را تنظیم کنید. مثلاً اگر میخواهید در GitHub جستجویی انجام دهید:
params = {“q”: “python”, “sort”: “stars”}
headers = {“Accept”: “application/vnd.github.v3+json”}
response = requests.get(“https://api.github.com/search/repositories”, params=params, headers=headers)
نکته مهم: اگر میخواهید به کد منبع و مستندات کامل کتابخانه requests در پایتون github دسترسی پیدا کنید، حتماً به مخزن رسمی این پروژه در گیتهاب مراجعه کنید:
https://github.com/psf/requests
ارسال داده با POST
یکی از رایجترین کاربردهای کتابخانه requests در پایتون ارسال دادهها به سرور است. برای این کار میتوانید از متد post استفاده کنید. فرض کنید میخواهید یک فرم ساده ارسال کنید:
data = {“username”: “test”, “password”: “1234”}
response = requests.post(“https://httpbin.org/post”, data=data)
یا اگر قرار باشد دادههای JSON ارسال کنید:
json_data = {“name”: “Ali”, “age”: 30}
response = requests.post(“https://httpbin.org/post”, json=json_data)
احراز هویت در درخواستها
خیلی وقتها برای کار با APIها باید وارد حساب کاربری شوید یا توکن داشته باشید. کتابخانه ریکوئست در پایتون این امکان را با دو روش عمده فراهم میکند: Basic Auth و Token Auth. به عنوان مثال:
from requests.auth import HTTPBasicAuth
response = requests.get(“https://api.github.com/user”, auth=HTTPBasicAuth(“user”, “pass”))
یا استفاده از توکن:
from requests.auth import AuthBase
class TokenAuth(AuthBase):
def __init__(self, token):
self.token = token
def __call__(self, request):
request.headers[“Authorization”] = f”Bearer {self.token}”
return request
response = requests.get(“https://api.github.com/user”, auth=TokenAuth(“your_token”))
استفاده از Session برای بهینهسازی
اگر قرار است چندین درخواست به یک سرور خاص ارسال کنید، بهتر است از Session استفاده کنید. این شیء اجازه میدهد کوکیها و تنظیمات بین درخواستها حفظ شوند:
with requests.Session() as session:
session.auth = (“user”, “pass”)
response1 = session.get(“https://httpbin.org/cookies/set/sessioncookie/123”)
response2 = session.get(“https://httpbin.org/cookies”)
خطاها و مدیریت تایماوت
گاهی اینترنت قطع میشود یا پاسخ خیلی دیر میرسد. در این مواقع باید بتوانید خطا را مدیریت کنید. مثلاً:
try:
response = requests.get(“https://api.github.com”, timeout=3.05)
response.raise_for_status()
except requests.Timeout:
print(“Timeout occurred!”)
except requests.RequestException as e:
print(f”Request failed: {e}”)
وب اسکرپینگ با کتابخانه requests در پایتون و BeautifulSoup
یکی از مهمترین کاربردهای کتابخانه requests در پایتون web scraping است. به کمک کتابخانه BeautifulSoup میتوانید محتوای صفحات را تحلیل و اطلاعات دلخواهتان را استخراج کنید:
import requests
from bs4 import BeautifulSoup
response = requests.get(“https://www.example.com”)
soup = BeautifulSoup(response.text, “html.parser”)
print(soup.title.text)
سخن پایانی
یادگیری کتابخانه requests در پایتون برای هر برنامهنویسی لازم است. برای نوشتن اپلیکیشن ساده یا APIهای پیچیده این کتابخانه یکی از مهمترین ابزارهایتان خواهد بود. یادتان نرود که با تکرار، تمرین و پیادهسازی پروژههای واقعی، میتوانید این مهارت را کاملاً در وجود خودتان نهادینه کنید.
آکادمی چابک در زمینه یادگیری پایتون دورههای بهروزی را طراحی کرده است که علاقهمندان در هر سطحی بتوانند در آنها شرکت کنند. دورههای آکادمی چابک از مباحث پایهای مانند ساختار زبان پایتون شروع میشوند و تا کار با کتابخانههای کاربردی مانند Requests ادامه پیدا میکنند. برای اطلاعات بیشتر با کارشناسان ما تماس بگیرید.
سوالات متداول (FAQ)
Requests در پایتون چیست و چه کاربردهایی دارد؟
کتابخانه Requests در پایتون یکی از پرکاربردترین ابزارها برای برقراری ارتباط با وبسایتها، سرویسها و APIها از طریق پروتکل HTTP است. این کتابخانه به برنامهنویسان کمک میکند تا بدون پیچیدگیهای رایج در مدیریت اتصالهای شبکه، بتوانند انواع درخواستها مانند GET، POST، PUT یا DELETE را به سرورها ارسال کنند. از مهمترین کاربردهای آن میتوان به دریافت اطلاعات از وبسایتها (وب اسکرپینگ)، تعامل با REST APIها، ارسال فرمها، دانلود فایلها و حتی احراز هویت در سرویسهای آنلاین اشاره کرد.
چطور Requests را در پایتون نصب کنیم؟
برای نصب کتابخانه Requests کافی است از ابزار مدیریت پکیج پایتون یعنی pip استفاده کنید. با اجرای دستور pip install requests در ترمینال یا Command Prompt، این کتابخانه به سادگی روی سیستم شما نصب میشود. اگر در محیطهایی مانند Jupyter Notebook کار میکنید، ممکن است نیاز باشد قبل از دستور نصب، علامت ! قرار دهید. این روش در واقع سریعترین راه برای دانلود و آمادهسازی کتابخانه Requests جهت استفاده در پروژههای پایتونی است.
فواید استفاده از کتابخانه Requests در پایتون چیست؟
یکی از مهمترین مزایای Requests سادگی در استفاده است. این کتابخانه با ارائه یک رابط کاربری خوانا و قابل فهم، امکان ارسال درخواستهای HTTP را تنها با چند خط کد فراهم میکند. همچنین مدیریت خودکار کوکیها، پشتیبانی از JSON، امکان تعیین تایماوت، مدیریت خطاها و قابلیت احراز هویت از دیگر مزایای مهم آن هستند. به همین دلیل Requests در بسیاری از پروژههای مرتبط با API، تحلیل دادههای آنلاین و توسعه اپلیکیشنهای مبتنی بر وب مورد استفاده قرار میگیرد.
چطور با Requests در پایتون درخواست GET ارسال کنیم؟
برای ارسال یک درخواست GET در پایتون ابتدا باید کتابخانه Requests را ایمپورت کنید و سپس با استفاده از متد get یک URL مشخص را فراخوانی کنید. این متد یک شیء Response برمیگرداند که شامل اطلاعات پاسخ سرور مانند کد وضعیت، متن پاسخ یا دادههای JSON است. این روش معمولاً برای دریافت اطلاعات از صفحات وب یا APIها استفاده میشود و یکی از پایهایترین کاربردهای Requests در پروژههای پایتونی به شمار میرود.
چطور با Requests در پایتون هدر و پارامترها را به درخواست اضافه کنیم؟
در بسیاری از مواقع برای ارسال درخواستهای دقیقتر نیاز است پارامترهای Query یا هدرهای HTTP را به درخواست اضافه کنید. این کار با تعریف یک دیکشنری برای پارامترها و یک دیکشنری دیگر برای هدرها انجام میشود و سپس هنگام ارسال درخواست GET یا POST به متد مربوطه منتقل میگردد. این قابلیت به شما اجازه میدهد تا درخواستهای فیلترشده ارسال کنید، نوع داده دریافتی را مشخص کنید یا حتی مجوز دسترسی به APIهای خاص را فراهم نمایید.
چگونه با Requests دادهها را با POST ارسال کنیم؟
برای ارسال داده به سرور از طریق متد POST میتوانید از متد post در کتابخانه Requests استفاده کنید. دادهها معمولاً به صورت فرم (Form Data) یا JSON ارسال میشوند. برای ارسال فرم کافی است دادهها را در قالب یک دیکشنری به پارامتر data بدهید و برای ارسال JSON نیز از پارامتر json استفاده کنید. این روش برای ثبت اطلاعات کاربران، ارسال داده به APIها یا انجام عملیاتهایی مانند لاگین بسیار کاربردی است.
منبع:


دیدگاهتان را بنویسید