srnightmare09 / coinmarketcap-python. md

ساخت وبلاگ

این یک مهم برای هر کسی است که به دنبال یادگیری همه چیز در مورد بازیابی داده های cryptocurrency از coinmarketcap.com است. تعداد معدودی از اطلاعات در اینجا ارائه شده است - شروع ، نحوه دستیابی به کلید API ، با چه مشکلی با من ، محدودیت های API و بسیاری دیگر.

CoinmarketCap چیست؟

CoinmarketCap وب سایت ردیابی قیمت در جهان برای Cryptoassets در فضای رمزنگاری شده به سرعت در حال رشد است. مأموریت آن این است که Crypto را با توانمندسازی کاربران خرده فروشی با اطلاعات بی طرفانه ، با کیفیت و دقیق برای ترسیم نتیجه گیری های آگاهانه خود ، در سطح جهان کشف و کارآمد کند.

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

توجه: CMC API را می توان با زبانهای مختلف دیگر نیز مورد استفاده قرار داد ، برای اطلاعات بیشتر مستندات رسمی CMC را بررسی کنید

در این بخش از راهنما به شما می گوید که چگونه می توانید خودتان از API برای بازیابی داده ها استفاده کنید.

برای یک حساب توسعه دهنده رایگان ثبت نام کنید

دریافت کلید API

در داشبورد پروفایل خود ، یک پانل را در سمت چپ بالا پیدا خواهید کرد تا کلید API خود را کپی کنید. حتماً این کلید API را ایمن و ایمن نگه دارید.

دریافت داده ها

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

در اجرای کد ، پیام زیر را در ترمینال خود دریافت می کنید:

کار با داده ها

داده هایی که دریافت می کنید می تواند کاهش یابد تا خاص تر باشد ، یعنی - قیمت ، کلاه بازار و غیره را به شما می دهد.

باریک کردن داده ها ساده است ، ما فقط باید عناصر والدین را قبل از هر نوع داده اضافه کنیم. اگر می خواهیم قیمت بیت کوین را بدست آوریم ، باید خط زیر را تغییر دهیم

parent-element-referencing

مراجعه به عناصر والدین برای رسیدن به اطلاعات خاص

مثال دیگر این است که اگر می خواهیم نماد بیت کوین را بدانیم -

parent-element-referencing

مراجعه به عناصر والدین برای رسیدن به اطلاعات خاص

تغییر ارز

اگر می خواهیم داده های ارزی را که می گیریم تغییر دهیم ، کد را به ویرایش می کنیم -

توجه: نام cryptocurrency باید در حروف کوچک باشد در حالی که ارز باید در محل بزرگ محلی باشد
  • مقدار slug را در پارامترها به نام cryptocurrency مورد نظر (در حروف کوچک) تغییر دهید.
  • متغیر اطلاعات را به تغییر دهید
  • اجرای کد باید یک خروجی به این ترتیب -
  • عنصر والد را در ابتدا کپی کنید (در مورد ما '74') و از آن برای دریافت داده استفاده کنید. به عنوان مثال - اکنون می توانیم از شناسه برای مشاهده ارزش بازار Dogecoin استفاده کنیم -

با استفاده از داده ها

  • کلید API را دریافت کنید
  • داده ها را دریافت کنید
  • با داده ها کار کنید
  • ارزها را بر اساس نیاز خود تغییر دهید

این بخش نقاط پایانی را پوشش می دهد، به عنوان مثال - انواع داده هایی که برگردانده می شوند. آنها را می توان در متغیر URL ما تغییر داد، که به عنوان پیش فرض / ارز رمزپایه / است.

CoinMarketCap API به 8 دسته سطح بالا تقسیم می شود

دسته بندی نقطه پایانی شرح
/کریپتوکارنسی/* نقاط پایانی که داده های مربوط به ارزهای دیجیتال مانند فهرست های ارزهای دیجیتال سفارشی یا داده های قیمت و حجم را برمی گردانند.
/تبادل/* نقاط پایانی که داده های موجود در مبادلات ارزهای دیجیتال مانند فهرست های مبادلات سفارشی و داده های جفت بازار را برمی گردانند.
/global-metrics/* نقاط پایانی که داده های کل بازار مانند ارزش بازار جهانی و تسلط بیت کوین را برمی گرداند.
/ابزار/* ابزارهای مفیدی مانند تبدیل ارزهای دیجیتال و قیمت فیات.
/بلاک چین/* نقاط پایانی که داده های مربوط به کاوشگر را برای بلاک چین برمی گردانند.
/فلت/* نقاط پایانی که داده های مربوط به ارزهای فیات را برمی گردانند، از جمله نقشه برداری به شناسه های CMC.
/شرکا/* نقاط پایانی برای دسترسی راحت به داده های رمزنگاری شخص ثالث.
/key/* نقاط پایانی مدیریت کلید API برای بررسی و مدیریت استفاده شما.

مسیرهای نقطه پایانی از الگویی مطابق با نوع داده ارائه شده پیروی می کنند

مسیر نقطه پایانی نوع نقطه پایانی شرح
*/آخرین آخرین داده های بازار آخرین قیمت ها و میانگین های بازار برای ارزهای دیجیتال و صرافی ها.
*/تاریخی داده های تاریخی بازار فواصل داده های بازار تاریخی مانند داده های OHLCV یا داده هایی برای استفاده در کتابخانه های نموداری.
*/اطلاعات فراداده ارزهای رمزنگاری شده و ابرداده های مبادله مانند آدرس های اینترنتی و لوگوهای کاوشگر بلوک.
*/نقشه نقشه های شناسه نقاط پایانی ابزار برای دریافت نقشه ای از منابع به شناسه های CoinMarketCap.

ارزهای دیجیتال و نقاط پایانی مبادلات 2 راه مختلف برای دسترسی به داده ها بسته به هدف ارائه می دهند

نقاط پایانی فهرست بندی: نقاط پایانی */listings/* صفحه بندی شده انعطاف پذیر به شما امکان می دهد فهرست های داده هایی مانند ارزهای دیجیتال را بر اساس ارزش بازار یا مبادلات بر اساس حجم مرتب سازی و فیلتر کنید.

نقاط پایانی مورد: نقاط پایانی منبع مبتنی بر شناسه راحت مانند */quotes/* و */market-pairs/* به شما امکان می دهد چندین شناسه را دسته بندی کنید. به عنوان مثال، این امکان را به شما می دهد تا در یک تماس آخرین قیمت های بازار را برای مجموعه خاصی از ارزهای دیجیتال دریافت کنید.

خطاها و محدودیت های نرخ

API Request Throttling

استفاده از API CoinmarketCap منوط به محدود کردن نرخ تماس API یا "درخواست لرزش" است. این تعداد تماس های HTTP است که می تواند به طور همزمان یا در همان دقیقه با کلید API شما قبل از دریافت خطای HTTP 429 "بیش از حد درخواست ها" انجام شود. این مقیاس با سطح استفاده محدود می شود و هر 60 ثانیه را مجدداً تنظیم می کند. لطفاً بهترین شیوه های آنها را برای استراتژی های اجرای که به خوبی با محدود کردن نرخ کار می کنند ، مرور کنید.

کدهای وضعیت HTTP

API از کدهای وضعیت HTTP استاندارد برای نشان دادن موفقیت یا عدم موفقیت یک تماس API استفاده می کند.

  • 400 (درخواست بد) سرور نمی تواند درخواست را پردازش کند ، احتمالاً به دلیل استدلال نامعتبر.
  • 401 (غیرمجاز) درخواست شما فاقد اعتبار تأیید اعتبار معتبر است ، احتمالاً مشکلی در مورد کلید API شما است.
  • 402 (پرداخت مورد نیاز) درخواست API شما به دلیل اینکه یک برنامه اشتراک پرداخت شده با مانده مانده است ، رد شد. تراز موجود در برگه صورتحساب پورتال توسعه دهنده را پرداخت کنید و فعال می شود.
  • 403 (ممنوع) درخواست شما به دلیل مسئله اجازه رد شد ، احتمالاً محدودیتی در برنامه خدمات مرتبط با API Key انجام داد. در اینجا یک نقشه مناسب از برنامه های خدمات برای نقاط پایانی آورده شده است.
  • 429 (درخواست های بیش از حد) از حد نرخ API Key فراتر رفت. اگر این خطای درخواست HTTP است ، فرکانس درخواست API خود را کاهش دهید. در صورت رسیدن به حد اعتبار ماهانه API تماس خود برای روز/ماه ، برنامه خدمات خود را به روز کنید.
  • 500 (خطای سرور داخلی) با یک سرور غیر منتظره روبرو شد.

کدهای پاسخ خطا

یک شیء وضعیت همیشه برای تماس های موفق و خرابی در صورت امکان در بار پاسخ JSON گنجانده شده است. در حین سناریوهای خطا ممکن است به خصوصیات error_code و error_message شیء وضعیت مراجعه کنید. یکی از کدهای خطای API در زیر در صورت لزوم بازگردانده می شود در غیر این صورت کد وضعیت HTTP برای نوع خطای عمومی بازگردانده می شود.

 

وضعیت HTTP کد خطا پیغام خطا
401 1001 [api_key_invalid] این کلید API نامعتبر است.
401 1002 [api_key_missing] کلید API گم نشده است.
402 1003 [api_key_plan_requires_payement] کلید API شما باید فعال شود. لطفاً به pro. coinmarketcap.com/account/plan بروید.
402 1004 [api_key_plan_payment_expired] برنامه اشتراک API Key شما منقضی شده است.
403 1005 [api_key_required] یک کلید API برای این تماس لازم است.
403 1006 [api_key_plan_not_authorized] برنامه اشتراک کلید API شما از این نقطه پایانی پشتیبانی نمی کند.
403 1007 [api_key_disabled] این کلید API غیرفعال شده است. لطفا با پشتیبانی تماس بگیرید
429 1008 [api_key_plan_minute_rate_limit_reached] شما از حد درخواست HTTP کلید API خود فراتر رفته اید. محدودیت های نرخ تنظیم مجدد هر دقیقه.
429 1009 [api_key_plan_daily_rate_limit_reached] شما از حد روزانه API Key خود فراتر رفته اید.
429 1010 [api_key_plan_monthly_rate_limit_reached] شما از حد ماهانه API Key خود فراتر رفته اید.
429 1011 [ip_rate_limit_reached] شما به حد نرخ IP ضربه زده اید.

این بخش شامل چند توصیه در مورد نحوه استفاده کارآمد از API CoinmarketCap برای برنامه شما است ، به خصوص اگر در حال حاضر پایه بزرگی از کاربران را برای برنامه خود دارید.

به جای نماد cryptocurrency از CoinmarketCap ID استفاده کنید

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

ما به عنوان یک نقشه از همه شناسه های coinmarketcap فعال Cryptocurrencies بسیار آسان است. فقط برای دریافت لیستی از کلیه ارزهای فعال نقشه برداری شده به ویژگی ID منحصر به فرد ، فقط با ما تماس بگیرید. این نقشه همچنین شامل سایر خصوصیات شناسایی معمولی مانند نام ، نماد و سکو Token_Address است که می توان از آنها عبور کرد. در تماس های cryptocurrency شما به عنوان مثال ID = 1027 ، به جای نماد = ETH ، ارسال می کنید. به شدت توصیه می شود که هر کد تولید از این شناسه ها برای ارزهای رمزنگاری شده ، مبادلات و بازارها برای ضد آینده کد استفاده کند.

از نقاط پایانی مناسب برای کار استفاده کنید

شاید متوجه شده باشید که/cryptocurrency/لیست/آخرین و/cryptocurrency/نقل قول/آخرین بازگشت داده های رمزنگاری یکسانی اما در قالب های مختلف. این امر به این دلیل است که اولی برای درخواست لیست های صفحه بندی شده و سفارش داده شده از همه ارزهای رمزپایه است در حالی که دومی برای درخواست انتخابی فقط ارزهای رمزنگاری شده خاص مورد نیاز شما است. بسیاری از نقاط پایانی از این الگوی پیروی می کنند ، به طراحی این نقاط پایانی اجازه می دهد تا برای شما کار کند!

در صورت لزوم یک استراتژی ذخیره سازی را اجرا کنید

حفاظت از داده های حقوقی استاندارد وجود دارد که در شرایط کاربر تجاری ساخته شده است که توسعه دهندگان برنامه باید در نظر داشته باشند. این اصطلاحات به جلوگیری از خرابی غیرمجاز و توزیع مجدد داده های CMC کمک می کند اما به عمد گفته می شود تا بتواند ذخیره محلی محلی داده های بازار را برای پشتیبانی از عملکرد برنامه شما فراهم کند. اگر برنامه شما دارای یک پایگاه کاربر قابل توجه است و شما نگران ماندن در محدوده اعتبار تماس و محدودیت های پرتاب API از برنامه اشتراک خود هستید ، اجرای یک استراتژی ذخیره سازی داده را در نظر بگیرید.

به عنوان مثال به جای ساختن A/Cryptocurrency/نقل قول/آخرین تماس هر بار که یکی از کاربران برنامه شما نیاز به واگذاری نرخ بازار برای ارزهای خاص رمزنگاری دارد ، می توانید آخرین داده های بازار را برای هر رمزنگاری در پایگاه داده محلی برنامه خود از قبل واکشی کرده و حافظه پنهان کنید. ثانیهاین فقط به 1 تماس API ،/cryptocurrency/لیست/آخرین؟ حد = 5000 ، هر 60 ثانیه نیاز دارد. سپس ، در هر زمان یکی از کاربران برنامه شما نیاز به بارگذاری لیست سفارشی از ارزهای رمزنگاری شده است که می توانید این آخرین داده های بازار را از حافظه نهان محلی خود بدون سرپرستی تماس های اضافی ، از حافظه نهان محلی خود بکشید. این نوع بهینه سازی برای مشتریانی که دارای پایگاه های بزرگ و خواستار کاربر هستند ، عملی است.

برای اطمینان از ادغام API REST قوی ، از نظر دفاعی کد

هر زمان که خدمات API REST در دسترس را برای عملیات مهم ماموریت انجام دهید ، توصیه می شود که به صورت دفاعی کد کنید. از آنجا که API نسخه ای شده است ، هرگونه درخواست شکستن یا تغییر قالب پاسخ فقط از طریق نسخه های جدید هر نقطه پایانی معرفی می شود ، اما نقاط پایانی موجود هنوز هم ممکن است با گذشت زمان ویژگی های راحتی جدیدی را معرفی کند.

ما این بهترین روشها را پیشنهاد می کنیم:

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

کد تجزیه و تحلیل شما باید صریحاً از خصوصیات پاسخ مورد نیاز برای تضمین زمینه های جدید که ممکن است در آینده برگردانده شوند ، تجزیه شود.

شما باید اعتبار میدان قوی را به منطق تجزیه کننده پاسخ خود اضافه کنید. شما می توانید تجزیه و تحلیل میدان پیچیده ، مانند تاریخ ها ، در بیانیه های امتحان/گرفتن برای به حداقل رساندن تأثیر مسائل تجزیه و تحلیل غیر منتظره (مانند بازگشت بعید به مقدار تهی).

برای منطق تماس API REST خود ، یک الگوی برنامه نویسی "دوباره با استفاده از بازده برگشتی" را پیاده سازی کنید. این بدان معناست که اگر درخواست HTTP شما برای دریافت نرخ محدود (HTTP 429) اتفاق بیفتد یا با یک وضعیت غیر منتظره سمت سرور (HTTP 5XX) روبرو شود ، کد شما به طور خودکار بهبود می یابد و دوباره با استفاده از یک طرح بازیابی هوشمند سعی می کند. ممکن است از یکی از بسیاری از کتابخانه های موجود استفاده کنید. به عنوان مثال ، این یکی برای گره یا این یکی برای پایتون.

خواننده عزیز ، من فقط می خواهم که شما بدانید که این مهم برای نوشتن واقعاً سرگرم کننده بود. هدف اصلی من تکمیل این کار برای کمک به دیگران بود اما به دلیل اطلاعات اضافی که به دست آوردم به خودم نیز کمک کردم. نظرات خروجی مورد استفاده در کد پایتون هنگام خواندن این مطلب منسوخ می شود و هیچ یک از ما دو نفر نمی توانند به آن کمک کنند. گوگل بهترین دوست من بوده است و همیشه خواهد بود. همچنین کشف و کسب دانش از مستندات CoinmarketCap API بسیار سرگرم کننده بود ، حتماً آن را بررسی کنید ، این هدف به سختی سطح را خراشیده است.< SPAN> الگوی برنامه نویسی "آزمایش مجدد با بازگردانی نمایی" را برای منطق تماس API REST خود اجرا کنید. این بدان معناست که اگر درخواست HTTP شما برای دریافت نرخ محدود (HTTP 429) اتفاق بیفتد یا با یک وضعیت غیر منتظره سمت سرور (HTTP 5XX) روبرو شود ، کد شما به طور خودکار بهبود می یابد و دوباره با استفاده از یک طرح بازیابی هوشمند سعی می کند. ممکن است از یکی از بسیاری از کتابخانه های موجود استفاده کنید. به عنوان مثال ، این یکی برای گره یا این یکی برای پایتون.

آموزش استراتژی معاملاتی...
ما را در سایت آموزش استراتژی معاملاتی دنبال می کنید

برچسب : نویسنده : ملیحه نصیری بازدید : <-PostHit-> تاريخ : چهارشنبه 7 تير 1402 ساعت: 17:53