درخواست API از صفحه گسترده خود

با درجه دوم ، می توانید API ها را به صورت برنامه نویسی به صفحه گسترده وصل کنید تا از هر منبع داده ای که از طریق نقطه پایانی API در معرض آن قرار دارد ، به داده های گسترده دسترسی پیدا کنید. شما می توانید از API ها با درخواست های GET بخوانید و با درخواست های پست ، همه مستقیماً از تجربه بومی پایتون ، به API ها بنویسید.
اتصال صفحه گسترده خود به API های شما آسان است. ما با ساده ترین API ممکن و بدون اعتبار و پارامتری شروع خواهیم کرد و سپس با اعتبار و پارامترها به یکی منتقل می شویم.
مرحله 1: نقطه پایانی API خود را مشخص کنید
در این مثال ما از API نمونه رایگان از JsonPlaceHolder استفاده می کنیم.
نقطه پایانی:
https://jsonplaceholder.typicode.com/users
ما می توانیم مشاهده کنیم که برخی از داده های نمونه در مرورگر ما چگونه است.
مرحله 2: ایجاد پرس و جو و نمای در صفحه گسترده
این ساده ترین پرس و جو ممکن است زیرا هیچ پارامتر وجود ندارد ، فقط URL که داده های ما را برمی گرداند.
import requests
import pandas as pd
# make request
x = requests.get('https://jsonplaceholder.typicode.com/users')
# go from JSON response to DataFrame
df = pd.DataFrame.from_dict(x.json())
# display DataFrame in the sheet
df
این نتایج ما را باز می گرداند ، که در صفحه گسترده جدولی است.
مرحله 3: DataFrame را دستکاری کنید
از اینجا ، ما می توانیم DataFrame را انجام دهیم ، آمار ، تجسم یا انتخاب قطعات جداگانه داده را انجام دهیم. در اینجا فقط چند مثال آورده شده است:
یک ستون را انتخاب کنید
df['username']
این فقط ستون نام کاربری را به برگه برمی گرداند.
داده های ستون را خلاصه کنید
ما می توانیم تجزیه و تحلیل داده های انتخاب شده خود را انجام دهیم. در این مثال ، تعداد دفعاتی را که یک نام کاربری با یک نامه خاص شروع می شود ، شمارش می کنیم. این امر می توانست کمی بفهمد ، بنابراین در عوض ، ما فقط می توانیم از دستیار هوش مصنوعی در کنسول بپرسیم. در اولین تلاش ، هوش مصنوعی پاسخی را انجام داد که عالی بود.
نمودار بسازید
با داده های خلاصه شده ما از آخرین مرحله ، می توانیم یک نمودار ساده ایجاد کنیم که میزان وقوع هر حرف را نشان می دهد ، مانند نامه شروع در نام کاربری.
# import plotly
import plotly.express as px
# create your chart type, for more chart types: https://plotly.com/python/
fig = px.bar(df, x = letter, y = frequency)
# make chart prettier
fig.update_layout(
plot_bgcolor="White",
height=700
)
# display chart
fig.show()
درخواست API با پارامترها (به علاوه پست به جای GET)
برای این مثال بعدی ، ما به Exa Ai ، یک جستجوی AI API متصل می شویم. همان مراحل در بالا ، فقط با پارامترهای پرس و جو ، تغییر درخواست API ما را کمی استفاده می کند. این همچنین یک پست به جای درخواست دریافت است ، به این معنی که ما داده ها را ارسال می کنیم ، و سپس آنها با پاسخ به آنچه ما به دنبال آن هستیم پاسخ می دهند. درخواست های پست همچنین یک روش مشترک برای نوشتن داده ها به منابع خارجی است ، جایی که پاسخ تأیید اینکه آیا داده ها با موفقیت دریافت شده است یا خیر. در این حالت ، ما در حال ارسال داده ها و دریافت پاسخ با استفاده از درخواست پست خود هستیم.
در این مثال ، ما درخواست خود را از پارامترهای تنظیم شده در برگه می سازیم تا بتوانیم بر اساس داده های ورق ، به صورت پویا درخواست هایی را به API انجام دهیم.
درخواست API با پارامترها
ما باید مشخصات پارامترها را در مستندات API دنبال کنیم. در مثال EXA ، ما باید پرس و جو ، دسته و تعداد نتایج را به عنوان بار بار ارائه دهیم. به عنوان هدر ، ما باید کلید API و نوع داده ای را که دریافت خواهیم کرد ، حداقل به طور حداقل تأمین کنیم. مثال زیر را برای نحوه عملکرد این کار مشاهده کنید.
import requests
import pandas as pd
# API URL
url = "https://api.exa.ai/search"
# payload
payload = {
# adjusts our query to an optimized prompt
"useAutoprompt": True,
# returns 10 results
"numResults": 10,
# category of response we want
"category": "company",
# question we want to ask, read from spreadsheet cell (0,3)
"query": cell(0,3)
}
# headers
headers = {
# what data format we'll accept
"accept": "application/json",
# what data format we're sending
"content-type": "application/json",
# API key
"x-api-key": "your_api_key_here",
}
# send request
response = requests.post(url, json=payload, headers=headers)
# turn response into json format we can shove into DataFrame
response.json()['results']
# put request into DataFrame
df = pd.DataFrame.from_dict(response.json()['results'])
# dislay DataFrame to sheet
df
خلاصه
درخواست های API یک روش قدرتمند برای اتصال به منابع داده زنده از صفحه گسترده شما است – انواع منابع داده را مستقیماً از پایتون در درجه دوم تا سطح تجزیه و تحلیل خود قرار دهید.
با ما تماس بگیرید و با ما تماس بگیرید و به ما اطلاع دهید که چگونه یا چه چیزی می توانیم در درجه دوم پیشرفت کنیم. بازخورد کاربر همان چیزی است که مستقیماً نقشه راه محصول ما را راهنمایی می کند.