对相同URL的异步请求Python

时间:2019-09-09 11:17:37

标签: pandas asynchronous python-requests

目前,我正在逐个迭代请求

for number in range(0, len(rank_check_df)):
    # Convert the dataframe to valid json
    json_converted = json.loads(rank_check_df.data[number])
    json_converted['Models']['CompetitionModel'] = model_version
    try:
        response = requests.request("POST", url, json=json_converted, headers=headers, params=querystring)
    # Create a temp db out of the response
        temp = pd.DataFrame({'QuoteReference': rank_check_df.QuoteReference[number],
                             'NumericResult': json.loads(response.text)['ModelResult']['NumericResult']},
                             index=[number])
    # Attach the created db to the larger db
        new_model_scores = pd.concat([new_model_scores, temp])

创建一个临时表,然后写入最终表。我认为这有两个主要的低效率之处。

1)我一次只写一行,我已经看到this post着眼于对多个URL的异步请求,我希望多次对同一个URL执行ping操作。

2)临时表的创建意味着我们一次获得一个追加。

是否有一种方法可以分解我的代码,以便它可以一次将多个请求发送到同一URL(变量=“ url”)并同时同时截断在一起?

是否有更好的方法来解决我没有想到的问题?

0 个答案:

没有答案