import concurrent.futures
def translate_line(line):
return {"text": translate(line["text"])}
# 翻訳リクエストを並列化する
with concurrent.futures.ThreadPoolExecutor() as executor:
for page in pages:
# 各行に対して翻訳リクエストを送信
translated_lines = list(executor.map(translate_line, lines))
# 翻訳された行を元のリストに戻す
for i, translated_line in enumerate(translated_lines):
lines[i].update(translated_line)
便利〜
:
cache length: 273667
40%|████████████████████████████████████████████████████▏ | 6003/14848 [18:22<4:18:18, 1.75s/it]503 Server Error: Temporary Error for url: https://api.deepl.com/v2/translate
50%|████████████████████████████████████████████████████████████████▊ | 7461/14848 [38:26<1:00:26, 2.04it/s]503 Server Error: Temporary Error for url: https://api.deepl.com/v2/translate
51%|██████████████████████████████████████████████████████████████████ | 7606/14848 [41:43<1:25:02, 1.42it/s]503 Server Error: Temporary Error for url: https://api.deepl.com/v2/translate
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14848/14848 [53:34<00:00, 4.62it/s]
total 29370658 no_cache 1581996 ratio 0.05386314463911568
translate: 3218.0509019168094