首页 > 解决方案 > 在python中使用多线程请求API

问题描述

如何在 python 中使用多线程请求以下 API?或者任何可以更有效地请求 API 的方法?多处理?异步IO?

import pandas as pd
import requests
import json

def getAPIreturn(row):
    para = row['para']
    url = f"http://localhost/search?name={para}"
    
    try:
        return_json = json.loads(requests.get(url).json)
        data = return_json['data']
        
        score = data[0]['score']
        count = data[1]['count']
        status = data[2]['status']
    except:
        score = None
        count = None
        status = None
        
    row['score'] = score
    row['count'] = count
    row['status'] = status
        
    return row

data = pd.read_csv("input.csv") 
data = data.apply(getAPIreturn, axis=1)
data.to_csv("output.csv", index=False)

标签: pythonpandasmultithreadingpython-requestsmultiprocessing

解决方案


推荐阅读