
مشاهده ویدیو قفل است
برای مشاهده مشاهده ویدیو، ابتدا این دوره را خریداری کنید.
متن فیلم
در این ویدئو ما در مورد رابطهای برنامهنویسی کاربردی (Application Program Interfaces) یا به اختصار API صحبت میکنیم. به طور خاص، ما در مورد API، کتابخانههای API و APIهای REST، از جمله درخواست و پاسخ و یک مثال با PyCoinGecko بحث خواهیم کرد. یک API اجازه میدهد تا دو قطعه نرم افزار با یکدیگر صحبت کنند. به عنوان مثال، شما برنامه خود را دارید، مقداری داده دارید، شما مؤلفههای نرم افزاری دیگری دارید. شما از API برای برقراری ارتباط با سایر نرمافزارها از طریق ورودیها و خروجیها استفاده میکنید. درست مانند یک تابع، لازم نیست بدانید که API چگونه کار میکند، فقط ورودیها و خروجیهای آن را بدانید. پانداس در واقع مجموعهای از مؤلفههای نرمافزاری است که بسیاری از آنها حتی در پایتون نوشته نشدهاند. شما مقداری داده دارید. شما مجموعهای از مؤلفههای نرم افزاری دارید. ما ازAPI پانداس برای پردازش دادهها با ارتباط با سایر مؤلفههای نرم افزاری استفاده میکنیم. بیایید دایاگرام را پاک کنیم. هنگامیکه یک دیکشنری ایجاد میکنید و سپس با سازنده دیتافریم یک شیء پانداس ایجاد میکنید، در زبان ویژه API، این یک «instance» است. دادههای موجود در دیکشنری به API پانداس منتقل میشوند. سپس از دیتافریم برای برقراری ارتباط با API استفاده میکنید. هنگامیکه متد head را فراخوانی میکنید، دیتافریم با API ارتباط برقرار میکند و چند ردیف اول دیتافریم را نمایش میدهد. هنگامیکه متد mean را فراخوانی میکنید، API میانگین را محاسبه میکند و مقدار را بازمیگرداند. APIهای REST یکی دیگر از انوع محبوب API هستند؛ آنها به شما امکان میدهند از طریق اینترنت ارتباط برقرار کنید و به شما امکان میدهند از مزایای منابع مانند ذخیرهسازی، دسترسی به دادههای بیشتر، الگوریتمهای هوش مصنوعی و موارد دیگر استفاده کنید. RE مخفف Representational، S، State و T، Transfer است. در APIهای REST برنامه شما client (مشتری) نامیده میشود. API با یک وب سرویس که شما از طریق اینترنت فراخوانی میکنید ارتباط برقرار میکند. مجموعهای از قوانین در مورد ارتباط، ورودی یا درخواست، و خروجی یا پاسخ وجود دارد. در اینجا چند اصطلاح رایج وجود دارد. شما یا کد شما را میتوان به عنوان یک مشتری در نظر گرفت. وب سرویس به عنوان یک منبع شناخته میشود. مشتری سرویس را از طریق یک نقطه پایانی پیدا میکند. ما این را در بخش بعدی بیشتر بررسی خواهیم کرد. مشتری درخواستها را به منبع و پاسخ به مشتری ارسال میشود. متدهای HTTP روشی برای انتقال دادهها از طریق اینترنت هستند. ما به APIهای REST میگوییم با ارسال درخواست چه کاری انجام دهند. این درخواست معمولاً از طریق یک پیام HTTP منتقل میشود. پیام HTTP معمولا حاوی یک فایل JSON است. این شامل دستورالعملهایی برای انجام عملیاتی است که ما میخواهیم سرویس انجام دهد. این عملیات از طریق اینترنت به وب سرویس منتقل میشود. سرویس عملیات را انجام میدهد. به شیوه مشابه، وب سرویس پاسخ را از طریق یک پیام HTTP بازمیگرداند، جایی که اطلاعات معمولاً از طریق یک فایل JSON بازگردانده میشود. این اطلاعات به مشتری منتقل میشود. دادههای رمزارز برای استفاده در یک API عالی هستند زیرا دائماً به روز میشوند و برای معامله رمزارزها حیاتی هستند. ما از PyCoinGecko Python client/wrapper برای APIی CoinGecko استفاده خواهیم کرد که هر دقیقه توسط CoinGecko به روز میشود. ما از wrapper/client استفاده میکنیم زیرا استفاده از آن آسان است بنابراین میتوانید روی وظیفه جمعآوری دادهها تمرکز کنید، ما همچنین توابع سری زمانی پانداس را برای تعامل با دادههای سری زمانی معرفی خواهیم کرد. استفاده از PyCoinGecko برای جمعآوری دادهها ساده است. تنها چیزی که نیاز داریم این است که کتابخانه را نصب و import کنیم، سپس یک شیء مشتری ایجاد کنیم و در نهایت از یک تابع برای درخواست دادهایمان استفاده کنیم. در این تابع ما دادههایی از بیت کوین، به دلار آمریکا، برای 30 روز گذشته دریافت میکنیم. در این حالت پاسخ ما یک JSON است که به صورت یک دیکشنری پایتون از لیستهای تودرتو شامل price (قیمت)، ارزش بازار و حجم کلی بیان میشود، که حاوی timestamp (مهر زمانی) UNIX و قیمت در آن زمان است. ما فقط به قیمت علاقه داریم بنابراین این همان چیزی است که با استفاده از قیمت کلیدی انتخاب خواهیم کرد. برای سادهسازی کارها، میتوانیم لیست تودرتوی خود را به یک دیتافریم، با ستون timestamp و price تبدیل کنیم. درک ستون timestamp دشوار است. ما با استفاده از تابع پانداس to_datetime آن را به یک قالب خواندنیتر تبدیل میکنیم. با استفاده از تابع to_datetime، دادههای زمانی قابل خواندن ایجاد میکنیم، ورودی ستون timestamp است، واحد زمان به میلی ثانیه تنظیم میشود. ما خروجی را به ستون جدید، date اضافه میکنیم. حالا ما میخواهیم یک نمودار candlestick ایجاد کنیم. برای دریافت دادههای candlestick روزانه ما بر اساس تاریخ گروه بندی میکنیم تا حداقل، حداکثر، اولین و آخرین قیمت هر روز را پیدا کنیم. در نهایت ما از plotly برای ایجاد نمودار candlestick و ترسیم آن استفاده خواهیم کرد. اکنون میتوانیم نمودارcandlestick را با باز کردن فایل HTML و کلیک بر روی Trust HTML در تب سمت چپ و بالا مشاهده کنیم. باید چیزی شبیه به این باشد.
رابطهای برنامهنویسی کاربردی (Application Program Interfaces)
توضیحات
APIها و جمعآوری دادهها این ماژول تکنیکهای مختلفی جمعآوری دادهها را، با تمرکز بر استفاده ازAPIها، وباسکرپینگ و کار با فرمتهای مختلف فایل بررسی میکند. در پایان این ماژول، شما به ابزارها و دانش لازم برای جمع آوری دادهها از منابع مختلف، هم ساختار یافته و هم بدون ساختار مجهز خواهید شد. این ماژول شامل آزمایشگاههای عملی، محتوای اختیاری برای اکتشاف بیشتر و یک آزمون جامع نهایی برای آزمایش درک کلی شما از دوره است. اهداف یادگیری _______________________________________________________________________ • پروتکل HTTP را کاوش کنید و با استفاده از کتابخانهRequests پایتون برای درخواستها و پاسخهای HTTP با آن تعامل داشته باشید. • نحوه عملکرد درخواست و پاسخ URL در HTTP را شرح دهید. • APIهای منبع باز را با استفاده از پایتون فراخوانی کنید. • وباسکرپینگ اساسی را با پایتون و BeautifulSoup انجام دهید. • با فرمتهای مختلف فایل مانندCSV، XML و JSON در پایتون کار کنید. • تفاوت بینAPI های عمومی و API های .REST • خلاصه اینکه چگونهAPI ها اطلاعات را از طریق درخواستهای GET و POST ارسال و دریافت میکنند. • درک اساسی از برنامه نویسی پایتون را با یادگیری سینتکس پایه، انواع داده، عبارات، متغیرها و عملیات رشتهای، توسعه دهید. • منطق برنامه نویسی پایتون را با استفاده از ساختمان دادهها، شرطها و انشعاب، حلقهها، توابع، مدیریت استثنا، اشیاء و کلاسها اعمال کنید. • مهارت در استفاده از کتابخانههای پایتون مانند Pandas و Numpy و توسعه کد با استفاده از نوت بوکهای Jupyter را نشان دهید. • دسترسی به دادههای مبتنی بر وب و استخراج آنها از طریق کار با APIهای REST با استفاده ازrequests و انجام وباسکرپینگ با BeautifulSoup. در این ویدئو در مورد رابطهای برنامهنویسی کاربردی (Application Program Interfaces) یا به اختصار API صحبت میشود.
برای مشاهده کامل این قسمت، دوره را تهیه کنید
پس از خرید، به همه قسمتهای این دوره دسترسی خواهید داشت.