如何实现请求的多线程或多处理



我希望实现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 的 Pandasapply()函数进行多线程或多处理? 例如:

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))

最新更新