آموزش

تسلط بر APIهای پایتون

در این آموزش یاد می‌گیری چطور با استفاده از APIها در پایتون، سیستم‌های مختلف رو به هم متصل کنی و داده‌های درلحظه (Real-time) رو وارد پروژه‌هات کنی. با نحوه دریافت، ارسال و پردازش داده‌ها آشنا می‌شی و برنامه‌هایی پویا، تعاملی و واکنش‌گرا می‌سازی.

تاریخ انتشار:
2 شهریور 1405
پایتون
8 دقیقه
مهندسی داده
کاربرهای فینکا در چه شرکت‌هایی مشغول به کار هستند؟

APIها یا رابط‌های برنامه‌نویسی اپلیکیشن، در واقع قهرمان‌های توسعهٔ نرم‌افزار مدرنن. این رابط‌ها به سیستم‌های نرم‌افزاری مختلف اجازه می‌دن با هم ارتباط برقرار کنن و امکان ادغام سرویس‌ها و ساخت اپلیکیشن‌ها رو فراهم می‌کنن. تسلط بر APIها مهارت خیلی مهمی برای هر کسیه که می‌خواد با داده‌ها در پایتون کار کنه، مخصوصاً اگه توسعه‌دهنده باشی. شاید از فرصت‌هایی که با یادگیری این مهارت برات ایجاد می‌شه شگفت‌زده بشی؛ چون با یادگیریش می‌تونی اپلیکیشن‌های وب بسازی، به سرویس‌های خارجی وصل بشی، یا حتی از داده‌های درلحظه (Real-time) در پروژه‌های یادگیری ماشین استفاده کنی.

در این راهنما، دنیای APIها رو بررسی می‌کنیم، یاد می‌گیریم چطور ازشون در پایتون استفاده کنیم، چطور با FastAPI برای خودمون API بسازیم و چطور با چالش‌های رایجی که قطعاً پیش میان، روبه‌رو بشیم. در پایان این آموزش، درک خوبی از نحوهٔ استفاده از APIها در پروژه‌هات پیدا می‌کنی که باعث می‌شه فرایند توسعه‌ت کارآمدتر و اپلیکیشن‌هات قدرتمندتر بشن. اگه بعد از خوندن مطالب مختلف احساس سردرگمی کردی، می‌تونی دورهٔ مقدمه‌ای بر APIها در پایتون ما در فینکا رو امتحان کنی که هر بخش رو با جزئیات کامل بررسی می‌کنه.

API چیه؟

API مثل یک پل بین اپلیکیشن‌های نرم‌افزاری مختلف عمل می‌کنه و بهشون اجازه می‌ده با هم ارتباط برقرار کنن و اطلاعاتشون رو به اشتراک بذارن.

API رو مثل یک پیشخدمت در رستوران تصور کن. تو به پیشخدمت می‌گی چی می‌خوای (سفارشت رو می‌دی) و اون درخواستت رو به آشپزخونه منتقل می‌کنه. آشپزخونه غذات رو آماده می‌کنه و پیشخدمت اون رو برات میاره. دقیقاً به همین شکل، تو یک درخواست به API می‌فرستی، API درخواستت رو پردازش می‌کنه و بعد نتایج رو بهت برمی‌گردونه.

برای اینکه این موضوع ملموس‌تر بشه، بیا چند تا کاربرد واقعی رو بررسی کنیم: مثلاً، ممکنه از یک API عمومی برای دریافت داده‌های مالی جهت تحلیل بازار سهام استفاده کنی، یا برای یک مدل پیش‌بینی وضعیت آب‌وهوا، به داده‌های درلحظه دسترسی داشته باشی. همون‌طور که متوجه شدی، APIها به‌خصوص برای کار با دیتاست‌های بزرگ یا وقت‌هایی که به داده‌های آنی نیاز داری، خیلی مهمن؛ در چنین شرایطی، APIها فرایند دسترسی و یکپارچه‌سازی داده‌ها رو خیلی ساده‌تر می‌کنن.

استفاده از APIها در پایتون

استفاده از APIها در پایتون روشی قدرتمند برای تعامل با سرویس‌های خارجی، دریافت داده‌ها و ادغام قابلیت‌های مختلف در اپلیکیشن‌هاته. پایتون کار با APIها رو ساده و کارآمد می‌کنه؛ این کار عمدتاً از طریق کتابخونهٔ requests انجام می‌شه که بهت اجازه می‌ده درخواست‌های HTTP بفرستی و با APIها تعامل داشته باشی.

مقدمه‌ای بر APIها در پایتون

در پایتون، ارتباط با APIها به لطف کتابخونهٔ requests خیلی راحته. این کتابخونه فرایند ارسال درخواست‌های HTTP رو ساده می‌کنه و بهت اجازه می‌ده با APIها در ارتباط باشی و داده‌ها رو بگیری یا بفرستی.

ارسال درخواست‌های API در پایتون

قبل از اینکه بتونی ارسال درخواست‌های API رو در پایتون شروع کنی، به کتابخونهٔ requests نیاز داری. می‌تونی با استفاده از این دستور اون رو نصب کنی:

مبانی درخواست‌های API

بیا اون مثال رستوران رو با چیزی که واقعاً در پایتون اتفاق می‌افته ترکیب کنیم. اینجا خیلی ساده بهت توضیح می‌دیم:

  • پیدا کردن مکان درست: اِندپوینت‌ (endpoint) در واقع API رو مشخص می‌کنه؛ یعنی همون آدرس وب مخصوصی که درخواستت رو بهش می‌فرستی.
  • ثبت سفارش: از کتابخونهٔ requests پایتون برای ارسال درخواست به API استفاده می‌کنی. اینجا مشخص می‌کنی که چه نوع عملیاتی می‌خوای انجام بدی (مثلاً گرفتن یا ارسال داده).
  • گرفتن غذا: API یک پاسخ برمی‌گردونه که می‌تونی اون رو پردازش کنی تا اطلاعات مورد نیازت رو ازش دربیاری.

درخواست‌های GET

درخواست GET رایج‌ترین نوع درخواست HTTP برای دریافت داده از یک سروره. این درخواست رو می‌تونی شبیه به درخواست کردن اطلاعات در نظر بگیری.

وقتی یک URL رو در مرورگرت تایپ می‌کنی و Enter رو می‌زنی، در اصل داری یک درخواست GET به اون سرور می‌فرستی و منبع مورد نظرت رو مشخص می‌کنی. سرور این درخواست رو پردازش می‌کنه تا داده‌های درخواستی رو پیدا و آماده کنه و بعد اون رو در قالبی مثل JSON یا XML بهت برمی‌گردونه.

در این مثال، ما در حال ارسال یک درخواست GET به یک API فرضی و چاپ کردن پاسخ JSON اون هستیم. درخواست‌های GET معمولاً برای دریافت داده‌ها بدون تغییر دادن اون‌ها استفاده می‌شن.

درخواست‌های POST

در حالی که درخواست‌های GET داده‌ها رو دریافت می‌کنن، درخواست‌های POST دستورالعمل‌هایی رو به یک سرور می‌فرستن. این درخواست‌ها اغلب برای ایجاد منابع جدید (مثل اضافه کردن یک کاربر) یا به‌روزرسانی منابع موجود (مثل ویرایش پروفایل) استفاده می‌شن.

تصور کن داری یک فرم آنلاین رو برای ثبت‌نام در یک سرویس پر می‌کنی. وقتی روی دکمهٔ ارسال کلیک می‌کنی، در واقع داری یک درخواست POST حاوی اطلاعاتت می‌فرستی. اینجا یک مثال ساده برات آوردیم:

این مثال یک دیکشنری شامل اطلاعات کاربر رو به عنوان داده‌های JSON به API می‌فرسته. بعد کد وضعیت پاسخ رو بررسی می‌کنیم تا ببینیم آیا کاربر با موفقیت ایجاد شده یا نه.

مدیریت پاسخ‌ها

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

  • کد وضعیت: یک عدد که نشون می‌ده درخواست موفقیت‌آمیز بوده یا با خطا مواجه شده. مثلاً کد 200 معمولاً به معنی موفقیته، در حالی که 404 یعنی منبع موردنظر پیدا نشد.
  • داده‌ها: اطلاعاتی که درخواست کردی، اغلب در قالب JSON برمی‌گردن. این همون جاییه که دیتای اصلی قرار داره.

اینجا یک مثال در پایتون داریم:

درک کدهای وضعیت API در پایتون

کدهای وضعیت API پاسخ‌های استانداردی هستن که سرورها برمی‌گردونن تا نتیجهٔ درخواست کلاینت رو نشون بدن. این کدها به توسعه‌دهنده‌ها کمک می‌کنن تا بفهمن آیا درخواست موفقیت‌آمیز بوده، خطایی رخ داده، یا نیاز به اقدام دیگه‌ای هست.

کدهای وضعیت رایج

  • 200 OK: این کد وضعیت نشون می‌ده که درخواست موفقیت‌آمیز بوده. مثلاً وقتی یک درخواست GET برای دریافت داده از یک API می‌فرستی، پاسخ 200 OK یعنی داده‌ها با موفقیت دریافت شدن.  
  • 404 Not Found: این کد زمانی برمی‌گرده که سرور نتونه منبع درخواستی رو پیدا کنه. مثلاً اگه سعی کنی به اِندپوینتی وصل بشی که اصلاً وجود نداره، خطای 404 Not Found رو می‌گیری.
  • 500 Internal Server Error: این کد نشون می‌ده که مشکلی در سمت سرور پیش اومده. این یک پیام خطای عمومیه که می‌تونه به دلایل مختلفی مثل باگ در کد سرور یا مشکل در دیتابیس رخ بده.

مدیریت کدهای وضعیت مختلف

مدیریت درست کدهای وضعیت API در اپلیکیشن‌های پایتونی تضمین می‌کنه که کدت رفتار قابل‌پیش‌بینی داشته باشه و بتونه خطاها رو به‌خوبی مدیریت کنه. اگه پاسخ 200 باشه، می‌تونی پردازش داده‌های برگشتی رو ادامه بدی. وقتی با خطای 404 مواجه می‌شی، بررسی کن که آیا URL اِندپوینت‌ درسته یا نه؛ و در صورت نیاز، یک منطق جایگزین پیاده‌سازی کن یا به کاربر خبر بده که منبع در دسترس نیست. برای خطاهای 500، می‌تونی درخواست رو بعد از یک تأخیر کوتاه دوباره امتحان کنی یا خطا رو برای بررسی‌های بیشتر ثبت (Log) کنی. اما حواست باشه برای جلوگیری از فشار آوردن به سرور، از تلاش‌های مجدد بیش از حد خودداری کنی.

ساخت API با پایتون

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

مقدمه‌ای بر FastAPI

حالا که یاد گرفتی چطور از APIها استفاده کنی، بیا ببینیم چطور می‌تونیم API خودمون رو بسازیم. FastAPI یک فریم‌ورک وب مدرن و سریع (با عملکرد بالا) برای ساخت API با پایتونه. همون‌طور که از اسمش پیداست، طوری طراحی شده که استفاده ازش آسون و سریع باشه. یکی از چیزهایی که FastAPI رو خیلی جذاب می‌کنه اینه که مستندات تعاملی رو هم به‌صورت خودکار برات تولید می‌کنه.

راه‌اندازی FastAPI

برای شروع، باید پایتون و مدیر پکیج اون یعنی pip رو نصب داشته باشی. بعد از اون، FastAPI و Uvicorn (که یک سرور ASGI با عملکرد بالاست) رو نصب کن:

نکتهٔ جانبی: اگه در نصب پایتون یا pip به مشکل خوردی، آموزش ما رو ببین: چگونه پایتون و pip را در ویندوز، مک و لینوکس ارتقا دهیم.

ایجاد یک API ساده

بیا یک API ساده بسازیم که یک پیام خوش‌آمدگویی برمی‌گردونه:

برای اجرای این API، دستور زیر رو اجرا کن:

این دستور سرور Uvicorn رو راه‌اندازی می‌کنه و API تو روی آدرس http://127.0.0.1:8000 در دسترس قرار می‌گیره. اگه این آدرس رو در مرورگر وب باز کنی، پاسخ {"Hello": "World"} رو دریافت می‌کنی.

ویژگی‌های پیشرفتهٔ FastAPI

فریم‌ورک FastAPI فقط برای ساخت سریع APIهای ساده نیست؛ بلکه مجموعه‌ای از ویژگی‌های پیشرفته رو ارائه می‌ده که اون رو برای اپلیکیشن‌های پیچیده و با عملکرد بالا مناسب می‌کنه. اینجا بعضی از قابلیت‌های کلیدی رو می‌تونی ببینی:

پارامترهای کوئری

در FastAPI، اضافه کردن و مدیریت پارامترهای کوئری به لطف پشتیبانی از راهنماهای نوع (Type Hints) پایتون خیلی راحته. پارامترهای کوئری بخشی از آدرس وب هستن و برای ارسال داده‌های اختیاری به اِندپوینت‌ API استفاده می‌شن؛ این پارامترها اغلب برای فیلتر کردن یا تغییر داده‌های برگشتی به کار می‌رن.

اضافه کردن پارامترهای کوئری

برای اضافه کردن یک پارامتر کوئری در FastAPI، کافیه اون رو به عنوان یک آرگومان در تابع مربوط به عملیاتت تعریف کنی. اگه یک پارامتر اختیاری باشه، می‌تونی مقدار پیش‌فرضی مثل None بهش اختصاص بدی. مثلاً فرض کن یک اِندپوینت‌ داری که مواردی رو از یک دیتابیس دریافت می‌کنه. می‌خوای به کاربرها اجازه بدی داده‌ها رو بر اساس یک کوئری جستجو فیلتر کنن:

در این مثال، q یک پارامتر کوئری اختیاریه. اگه مقداری برای q بفرستیم، نتایج رو بر اساس اون فیلتر می‌کنه. اما اگه q ارسال نشه، اِندپوینت‌ همهٔ موارد رو برمی‌گردونه.

مدیریت پارامترهای کوئری

FastAPI به‌طور خودکار پارامترهای کوئری، از جمله اعتبارسنجی نوع داده و تبدیل اون‌ها رو مدیریت می‌کنه. مثلاً اگه یک پارامتر کوئری رو به‌عنوان عدد صحیح مشخص کنی، FastAPI بررسی می‌کنه که ورودی واقعاً یک عدد صحیح باشه. اگه ورودی با نوع مورد انتظار همخونی نداشته باشه، FastAPI یک پیام خطای واضح برمی‌گردونه.

اینجا یک مثال با یک پارامتر کوئری الزامی و اعتبارسنجی نوع داریم:

در این حالت، item_id یک پارامتر مسیره و q یک پارامتر کوئری اختیاری به حساب میاد. FastAPI تضمین می‌کنه که item_id حتماً یک عدد صحیح باشه و در صورت ارسال، پارامتر کوئری q رو هم پردازش می‌کنه.

مدیریت متدهای مختلف HTTP

پیاده‌سازی متدهای مختلف HTTP مثل GET، POST، PUT و DELETE خیلی ساده‌ست و دقیقاً شبیه نحوهٔ تعریف مسیرها در فریم‌ورک‌های دیگه‌ست. هر متد به یک نوع عملیات خاص گره خورده؛ مثل دریافت داده (GET)، ایجاد دادهٔ جدید (POST)، به‌روزرسانی داده‌های موجود (PUT) یا حذف داده (DELETE).

متد GET

متد GET برای دریافت داده از سرور استفاده می‌شه. در FastAPI، می‌تونی یک اِندپوینت‌ GET رو به این شکل تعریف کنی:

متد POST

متد POST برای ایجاد داده‌های جدید کاربرد داره. می‌تونی یک اِندپوینت‌ POST تعریف کنی و داده‌ها رو در بدنهٔ درخواست دریافت کنی:

متد PUT

متد PUT برای به‌روزرسانی داده‌های موجود استفاده می‌شه. این متد معمولاً هم به یک شناسه و هم به داده‌های جدید نیاز داره:

متد DELETE

متد DELETE همون‌طور که از اسمش پیداست، برای حذف داده‌ها استفاده می‌شه. در FastAPI، یک اِندپوینت‌ DELETE به‌صورت زیر تعریف می‌شه:

احراز هویت و امنیت

FastAPI مکانیزم‌های مختلفی رو برای پیاده‌سازی احراز هویت و امنیت در اختیارت می‌ذاره:

  • احراز هویت پایه HTTP: یک روش سرراست و ساده، اما معمولاً برای محیط‌های پروداکشن به دلیل مسائل امنیتی توصیه نمی‌شه.
  • کلیدهای API یا همون API Keys: یک گزینهٔ امن‌تر که شامل تولید کلیدهای منحصربه‌فرد برای کلاینت‌هاست.
  • OAuth 2.0: یک استاندارد پیچیده اما خیلی قوی برای مجوزدهی، که معمولاً برای ادغام با سرویس‌های شخص ثالث (Third-party) استفاده می‌شه.
  • توکن‌های وب JSON یا همون JWT: یک روش محبوب برای جابه‌جایی امن اطلاعات بین دو طرف.

ملاحظات عملکرد API در پایتون

بیا کمی در مورد ملاحظات مربوط به عملکرد و کارایی API در پایتون صحبت کنیم.

کارایی درخواست‌های API

کارایی و بازدهی درخواست‌های API می‌تونه تأثیر زیادی روی عملکرد کلی اپلیکیشن داشته باشه. متدهای مختلف درخواست API، پیچیدگی‌های زمانی متفاوتی دارن:

  • درخواست‌های GET: معمولاً خیلی سریعن، چون طوری طراحی شدن که داده‌ها رو بدون ایجاد تغییر روی سرور دریافت کنن. با این حال، اگه دیتاست‌ها خیلی بزرگ باشن، ممکنه عملکردشون افت کنه.
  • درخواست‌های POST: این درخواست‌ها ممکنه بیشتر طول بکشن، چون شامل ارسال داده به سرور برای پردازش یا ذخیره‌سازی هستن.
  • درخواست‌های PUT و DELETE: پیچیدگی زمانی این متدها بسته به زمان پاسخ سرور و نوع عملیاتی که انجام می‌شه، می‌تونه متفاوت باشه.

برای افزایش کارایی، سعی کن حجم داده‌هایی رو که ارسال یا دریافت می‌شن به حداقل برسونی و در صورت امکان از عملیات دسته‌ای استفاده کنی.

بهینه‌سازی استفاده از API

در اینجا چند تا نکته برای بهینه‌سازی عملکرد فراخوانی‌های API در پایتون آوردیم:

  • درخواست‌های دسته‌ای: در صورت امکان، چند تا فراخوانی API رو در یک درخواست ترکیب کن تا بار اضافی روی سرور کمتر بشه.
  • cache کردن پاسخ‌ها: داده‌هایی رو که مرتباً درخواست می‌شن به‌صورت محلی ذخیره کن تا تعداد فراخوانی‌های API پایین بیاد.
  • درخواست‌های ناهمگام: از کتابخونه‌های ناهمگام مثل aiohttp برای مدیریت همزمان چندین درخواست استفاده کن تا زمان انتظار رو کاهش بدی.
  • Connection Pooling: به‌جای ایجاد یک اتصال جدید برای هر درخواست، از اتصالات قبلی مجدداً استفاده کن؛ این کار می‌تونه تأخیر رو به شکل قابل‌توجهی کم کنه.

خطاهای رایج API در پایتون و نحوهٔ مدیریت اون‌ها

وقتی با APIها کار می‌کنی، ممکنه با خطاهای مختلفی روبه‌رو بشی که می‌تونن در عملکرد اپلیکیشنت اختلال ایجاد کنن. در ادامه، دو تا مشکل رایج و نحوهٔ برخورد مؤثر با اون‌ها رو بررسی می‌کنیم.

مدیریت خطاهای Timeout

خطاهای timeout زمانی رخ می‌دن که یک درخواست API در زمان تعیین‌شده پاسخی دریافت نکنه. این خطاها می‌تونن به دلایل مختلفی مثل ترافیک شبکه، بار اضافی سرور، پردازش داده‌های سنگین، یا rate Limit مربوط به API پیش بیان. برای مقابله با این خطاها، توصیه می‌شه از روش‌هایی مثل افزایش زمان timeout، استفاده از مکانیزم‌های تلاش مجدد با تأخیر تصاعدی (Exponential Backoff)، بهینه‌سازی حجم درخواست‌ها و استفاده از برنامه‌نویسی ناهمگام کمک بگیری. همچنین، پیاده‌سازی روش‌های قوی برای مدیریت خطا و لاگ کردن (Logging) می‌تونه به پیدا کردن علت timeout‌ها و انجام اقدامات لازم کمک کنه.

مدیریت rate limit

rate Limit معمولاً توسط ارائه‌دهنده‌های API اعمال می‌شه تا از سوءاستفاده جلوگیری کنن، مصرف عادلانه رو تضمین کنن و پایداری سرویسشون رو حفظ کنن. این محدودیت‌ها که معمولاً به‌صورت «تعداد درخواست در دقیقه یا ساعت» بیان می‌شن، سقف مجازی برای تعداد درخواست‌هایی که می‌تونی در یک بازهٔ زمانی خاص بفرستی تعیین می‌کنن. اگه از این آستانه‌ها عبور کنی، ممکنه مسدود شدن موقت، پاسخ‌های کند یا حتی قطع کامل دسترسی به API برات اتفاق بیفته. برای کنترل این محدودیت‌ها، از تکنیک‌هایی مثل تأخیر تصاعدی، cache کردن و نظارت دقیق روی میزان استفاده از API بهره ببر. درک سیاست‌های خاص rate limit هر API برای جلوگیری از قطع شدن سرویست کاملاً ضروریه.

جایگزین‌های درخواست‌های استاندارد API

با اینکه APIها روش اصلی برای دسترسی به داده‌ها هستن، اما موقعیت‌هایی هم پیش میاد که جایگزین‌ها ممکنه گزینه‌های مناسب‌تری باشن. در ادامه، دو جایگزین رایج برای استفاده از درخواست‌های استاندارد API در پایتون رو معرفی می‌کنیم.

استفاده از وب اسکریپینگ

وقتی APIها در دسترس نیستن، اطلاعات کافی نمی‌دن یا استفاده ازشون منطقی نیست، وب اسکریپینگ (Web Scraping) یک تکنیک عالی برای استخراج داده‌ها از وب‌سایت‌هاست. با پردازش کدهای HTML، می‌تونی اطلاعاتی رو به دست بیاری که در حالت عادی ممکنه در دسترس نباشن. با این حال، خیلی مهمه که به قوانین و شرایط خدمات وب‌سایت‌ها احترام بذاری، از ارسال درخواست‌های بیش از حد به سرورها خودداری کنی و پیامدهای اخلاقی و قانونی این کار رو هم در نظر بگیری. وب اسکریپینگ با ماژول‌های معروف پایتون مثل BeautifulSoup، Scrapy و Selenium خیلی راحت‌تر می‌شه.

دسترسی مستقیم به دیتابیس

دسترسی مستقیم به دیتابیس در مقایسه با APIها، روشی مستقیم‌تر و احتمالاً سریع‌تر برای گرفتن داده‌ها به حساب میاد. اگه مجوزهای لازم و درک درستی از ساختار دیتابیس داری، می‌تونی محدودیت‌های API رو دور بزنی و با استفاده از ابزارهایی مثل SQLAlchemy یا psycopg2 کوئری‌های سفارشی خودت رو اجرا کنی. با این حال، این روش نیاز به بررسی دقیق مسائل امنیتی، عملکرد و یکپارچگی داده‌ها داره؛ چون ارتباط مستقیم با دیتابیس اگه به‌درستی مدیریت نشه، می‌تونه آسیب‌پذیری‌های زیادی ایجاد کنه.

جمع‌بندی

حالا اصول اولیهٔ ساخت و استفاده از APIها رو یاد گرفتی و می‌دونی چطور از فریم‌ورک انعطاف‌پذیر FastAPI استفاده کنی. علاوه‌بر این، یاد گرفتی که چطور باید بر موانع رایجی مثل rate limit و timeout غلبه کنی. تعامل مؤثر با API برای توسعهٔ مدرن پایتون ضروریه؛ چون بهت اجازه می‌ده از دیتاست‌های بزرگ استفاده کنی و راه‌حل‌های خلاقانه‌ای بسازی.

البته، فرآیندها همیشه در حال تغییرن. کلید تبدیل شدن به یک متخصص، آزمایش کردن، یادگیری مداوم و استفاده از این مهارت‌ها در دنیای واقعیه. به همین دلیله که فینکا روی منابعی مثل دورهٔ مقدمه‌ای بر APIها در پایتون خیلی کار کرده تا بتونی واقعاً تمرین کنی و به یک متخصص تبدیل بشی. همچنین، دورهٔ دریافت داده‌های ساختاریافته با Pandas هم یک گزینهٔ عالی دیگه محسوب می‌شه. پس همین امروز ثبت‌نام کن!

اشتراک‌گذاری
فهرست مطالب
  • API چیه؟
  • استفاده از APIها در پایتون
  • درک کدهای وضعیت API در پایتون
  • ساخت API با پایتون
  • ملاحظات عملکرد API در پایتون
  • خطاهای رایج API در پایتون و نحوهٔ مدیریت اون‌ها
  • جایگزین‌های درخواست‌های استاندارد API
  • جمع‌بندی

دریافت اپلیکیشن فینکا

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