优化批量SSL API请求的速度

时间:2018-04-16 03:32:34

标签: python api

我编写了一个脚本来运行530个API调用,我打算每隔5分钟运行一次,从这些调用中我将数据存储起来以后批量处理(预测ETC)。

API每秒限制为500个请求。但是,在运行我的代码时,我看到每次通话时间为2秒(由于SSL我相信)。

如何加快速度,使我能够在5分钟内运行500个请求,因为当前所需的时间会使我收集的数据变得无用:(

代码:

def getsurge(lat, long):

    response = client.get_price_estimates(
                    start_latitude=lat,
                    start_longitude=long,
                    end_latitude=-34.063676,
                    end_longitude=150.815075
            )

    result = response.json.get('prices')

    return result

def writetocsv(database):
    database_writer = csv.writer(database)
    database_writer.writerow(HEADER)

    pool = Pool()

# Open Estimate Database
    while True:

        for data in coordinates:
            line = data.split(',')

            long = line[3]
            lat = line[4][:-2]

            estimate = getsurge(lat, long)

            timechecked = datetime.datetime.now()

            for d in estimate:
                if d['display_name'] == 'TAXI':
                    database_writer.writerow([timechecked, [line[0], line[1]], d['surge_multiplier']])
                    database.flush()
                    print(timechecked, [line[0], line[1]], d['surge_multiplier']) 

1 个答案:

答案 0 :(得分:0)

APi是否在您的控制之下?如果是这样,创建一个端点,可以一次性为您提供所需的所有数据。