آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

ارسال مجدد کد یکبار مصرف (00:90)
  • 02177010771
  • info@chabokacademy.com
  • اخبار و مقالات
  • علاقمندی ها
آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
شروع کنید
0

وبلاگ

آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی > اخبار و مقالات > برنامه نویسی > آموزش کامل کتابخانه requests در پایتون: استفاده از ریکوئست در پایتون

آموزش کامل کتابخانه requests در پایتون: استفاده از ریکوئست در پایتون

خرداد 26, 1404
ارسال شده توسط ادمین آکادمی
برنامه نویسی
کاربرد کتابخانه request

فهرست مطالب این نوشته

Toggle
  • نصب کتابخانه requests در پایتون
  • آشنایی با ساختار کلی درخواست‌ها
  • کاربرد کتابخانه request چیست؟
  • متدهای HTTP که می‌توانید استفاده کنید
  • آشنایی با شیء Response
  • استفاده از پارامترها و هدرها
  • ارسال داده با POST
  • احراز هویت در درخواست‌ها
  • استفاده از Session برای بهینه‌سازی
  • خطاها و مدیریت تایم‌اوت
  • وب اسکرپینگ با کتابخانه requests در پایتون و BeautifulSoup
تعداد بازدید: 121
لطفا به این مقاله امتیاز بدهید.

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

chabokacademy
دوره‌های آموزشی آکادمی چابک
با تخفیف‌های ویژه آکادمی چابک، یادگیری را شروع کنید!
مشاهده دوره‌ها

نصب کتابخانه requests در پایتون

برای نصب کتابخانه requests در پایتون python در ترمینال دستور زیر را وارد کنید:

pip install requests

یک نکته در حوزه آموزش نصب کتابخانه requests در پایتون وجود دارد و آن هم این است که این کتابخانه به صورت رسمی در PyPI قرار دارد و فقط با همین دستور ساده نصب می‌شود.

البته در بعضی محیط‌ها مثل Jupyter یا Anaconda ممکن است نیاز باشد که ! را قبل از دستور قرار دهید:

!pip install requests

آشنایی با ساختار کلی درخواست‌ها

حالا که نصب انجام شد، بیایید ببینیم چطور می‌توان یک درخواست ساده‌ی GET به یک سایت ارسال کرد. فرض کنید می‌خواهید اطلاعاتی از سایت GeeksforGeeks دریافت کنید:

import requests

response = requests.get(“https://www.geeksforgeeks.org/”)

print(response.status_code)

کاربرد کتابخانه request چیست؟

یک سوال تکراری توسعه‌دهندگان تازه‌کار این است که: کاربرد کتابخانه request چیست؟ برای پاسخ به این سوال در این قسمت می‌خواهیم مهم‌ترین کاربردهای این کتابخانه را معرفی کنیم:

  • دریافت اطلاعات از سایت‌ها (web scraping)
  • ارسال داده به سرورها (فرم‌ها یا JSON)
  • تعامل با APIها (به خصوص REST APIs)
  • دانلود فایل‌ها از وب

کتابخانه requests در پایتون

متدهای HTTP که می‌توانید استفاده کنید

یکی از ویژگی‌های کتابخانه requests در پایتون، پشتیبانی کامل از متدهای HTTP است. شما می‌توانید از این متدها استفاده کنید:

  • GET برای دریافت داده
  • POST برای ارسال داده
  • PUT برای بروزرسانی کامل
  • PATCH برای بروزرسانی جزئی
  • DELETE برای حذف
  • HEAD برای دریافت فقط هدرها

آشنایی با شیء Response

بعد از ارسال هر درخواست، یک شیء از کلاس Response به شما بازمی‌گردد. این شیء در واقع نماینده‌ای از پاسخ سرور است و اطلاعات زیادی در خودش دارد.

مراحل یادگیری پایتون: چگونه در 60 روز برنامه‌نویس حرفه‌ای شویم؟
بخوانید

برای مثال:

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 به شدت کاربردی است.

استفاده از پارامترها و هدرها

برای جستجو، فیلتر کردن یا شخصی‌سازی درخواست، باید پارامترهای 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”))

آموزش کامل کتابخانه Requests در پایتون

استفاده از 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 ادامه پیدا می‌کنند. برای اطلاعات بیشتر با کارشناسان ما تماس بگیرید.

منبع:

www.geeksforgeeks.org

قبلی آموزش رایگان برنامه‌نویسی از صفر برای مبتدیان: راهی ساده اما عمیق برای شروع
بعدی آموزش گام به گام ساخت اپلیکیشن موبایل از صفر تا انتشار

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • آموزش گرافیک کامپیوتری
  • امنیت و شبکه
  • برنامه نویسی
  • پایگاه داده
  • سیستم عامل
  • طراحی وب
  • کسب و کار
  • هوش مصنوعی
برچسب‌ها
MBA آموزش و کاربرد هوش مصنوعی اهداف شغلی بازاریابی محصول کسب و کار اینترنتی
logoacademy
آکادمی چابک با برگزاری دوره‌های جامع و تخصصی در حوزه‌ی نرم‌افزار، تحلیل کسب‌وکار و همچنین مشاوره‌های تخصصی در این حوزه‌ها سعی بر آن دارد تا علاقمندان پس از گذراندن دوره‌های مربوطه بتوانند از دانش و مهارت‌ خود بهترین استفاده را کرده و وارد بازار کار شوند.
 

ارتباط با ما

  • ۰۲۱۷۷۰۱۰۷۷۱
  • info@chabokacademy.com
  • حکیمیه، بلوار بابائیان، ۱۵ متری امام حسین، بن بست شفاعت، پلاک ۱۵، طبقه ۷

دسترسی سریع

  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما
  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما

نماد‌ها و خبرنامه

۱۴۰۲© کلیه حقوق سایت نزد آکادمی چابک محفوظ است.

  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط