Несколько запросов на импорт с одного и того же URL - PullRequest
0 голосов
/ 15 февраля 2019

Я хотел бы загрузить данные о запасах акций, используя следующий код, который затем должен быть записан в файл json.

import requests
import json

filename='float.json'

url = "https://api.iextrading.com/1.0/stock/aapl/stats"   
response = requests.get(url).json()
data = (response['symbol'], response['float'])

with open(filename, 'a+') as outfile:
    json.dump(data, outfile, indent=4)

Теперь я хотел бы загрузить данные по нескольким акциям, поэтому гдев URL-адресе написано «aapl», я хотел бы иметь несколько акций, таких как «tsla», «goog» и т. д.

Может ли кто-нибудь объяснить мне, как этого добиться?

С уважением

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

вы можете попробовать:

import json

import requests


stocks = ['appl', 'goog']

base_url = 'https://api.iextrading.com/1.0/stock/{}/stats'

filename='float.json'

for stock in stocks:

    try:
        response = requests.get(base_url.format(stock))
    except:
        continue
    if response.status_code == 200:
        response_json = response.json()
        data = (response_json['symbol'], response_json['float'])

        with open(filename, 'a+') as outfile:
            json.dump(data, outfile, indent=4)
0 голосов
/ 15 февраля 2019

Можете ли вы попробовать следующее:

import json
import requests
stk_list = ['aapl', 'tsla', 'goog']
for stk_name in stk_list:
    try:
        url = "https://api.iextrading.com/1.0/stock/{}/stats".format(stk_name)
        response = requests.get(url).json()
        data = (response['symbol'], response['float'])
        filename = 'float_{}.json'.format(stk_name)

        with open(filename, 'a+') as outfile:
            json.dump(data, outfile, indent=4)
    except:
        pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...