我正在寻求实现request对象的多线程或多处理。

我的代码如下:

def validate(testurl):
    json_d = {"task_id": "user_uid","data": {"document1":testurl}}
    response = requests.post("https://example.net.com/document",headers=headers,json=json_d)
    my_data1 = response.text
    with open("testurl.txt","a+") as file:
        file.write(my_data1)
    my_data = json.loads(my_data1)
    result = {'bool_value':my_data['data']}
    return result


有没有一种方法可以对5000个以上的URL进行Pandas apply()函数的多线程或多进程处理?例如:

df['res'] = df['testurl'].apply(validate)


我应该在下面使用这个吗?

from joblib import parallel, delayed

最佳答案

您可以使用swifter或dask来执行此操作。您可以参考https://gdcoder.com/speed-up-pandas-apply-function-using-dask-or-swifter-tutorial/

df['res'] = df['testurl'].swifter.apply(lambda x: validate(x))

10-06 06:46