如何在API调用期间循环列表?

2024-06-10 02:36:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望通过使用API循环大约5个股票行情。目前,我有“MSFT”作为唯一的股票被称为;但是,我想制作一个股票列表,以返回多个响应

例如:

stock_list = ["MSFT", "AAPL", "LMD", "TSLA", "FLGT"]

如何向querystring请求所有5种库存以打印每个响应?这里是我目前所拥有的,它只将“MSFT”打印成json格式

import requests

#Use RapidAPI request to call info on Stocks
url = "https://alpha-vantage.p.rapidapi.com/query"

querystring = {"function":"GLOBAL_QUOTE","symbol": "MSFT"}


headers = {
    'x-rapidapi-key': "KEY INSERTED HERE,
    'x-rapidapi-host': "alpha-vantage.p.rapidapi.com"
    }

response = requests.request("GET", url, headers=headers, params=querystring)

Tags: alphacomapiurl列表requeststockrequests
1条回答
网友
1楼 · 发布于 2024-06-10 02:36:44

尝试使用for loop

import requests

url = 'https://alpha-vantage.p.rapidapi.com/query'
headers = {
    'x-rapidapi-key': '<API KEY>',
    'x-rapidapi-host': 'alpha-vantage.p.rapidapi.com',
}

tickers = ['MSFT', 'AAPL', 'LMD', 'TSLA', 'FLGT']

for ticker in tickers:
    querystring = {'function': 'GLOBAL_QUOTE', 'symbol': ticker}
    r = requests.get(url, headers=headers, params=querystring)
    print(r.json())

您还可以尝试使用json模块漂亮地打印json输出

import json

# ... your code ...

for ticker in tickers:
    # ... your code ...

    print(json.dumps(r.json(), indent=2))

另外,您应该在API密钥被任何人滥用之前删除它这些必须放在安全的地方

相关问题 更多 >