我将提供Austin Marino的修改答案,这里是一个解决方案,对于我在2000个单词列表中刚刚起作用(在更大的列表中也可以工作)。
首先,您需要安装NordVPN并将其添加到系统路径,请检查此链接:
https://support.nordvpn.com/Connectivity/Windows/1350897482/Connect-to-NordVPN-app-on-Windows-using-the-Command-Prompt.htm
目标是允许您通过CMD连接/断开连接和选择服务器(您也可以在Linux中执行相同的操作),以便您可以通过Python代码控制这些NordVPN CMD命令。
以下是函数(请导入所需的库):
import random
listofservers = ["South Africa", "Egypt" , "Australia", "New Zealand", "South Korea", "Singapore", "Taiwan", "Vietnam", "Hong Kong", "Indonesia", "Thailand", "Japan", "Malaysia", "United Kingdom", "Netherlands", "Germany", "France", "Belgium", "Switzerland", "Sweden","Spain","Denmark", "Italy", "Norway", "Austria", "Romania", "Czech Republic", "Luxembourg", "Poland", "Finland", "Hungary", "Latvia", "Russia", "Iceland", "Bulgaria", "Croatia", "Moldova", "Portugal", "Albania", "Ireland", "Slovakia","Ukraine", "Cyprus", "Estonia", "Georgia", "Greece", "Serbia", "Slovenia", "Azerbaijan", "Bosnia and Herzegovina", "Macedonia","India", 'Turkey', 'Israel', 'United Arab Emirates', 'United States', 'Canada','Mexico'
,"Brazil", "Costa Rica", "Argentina", "Chile"]
def SelectServer(l):
return random.choice(l)
def translate_text(text, dest_language="en"):
translator = googletrans.Translator()
try:
translation = translator.translate(text=text, dest=dest_language)
except json.decoder.JSONDecodeError:
print("exception !! déconection du VPN ")
process = subprocess.Popen(["nordvpn", "-d"], shell = True ,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()
time.sleep(5)
srv = SelectServer(listofservers)
print("sélection du serveur : "+ srv + " et connexion")
process = subprocess.Popen(["nordvpn", "-c", "-g", srv ], shell = True ,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()
time.sleep(60)
return translate_text(text=text, dest_language=dest_language)
return translation.text
ListCapTranslated = []
for row in ListCaptionsCleanFiltred:
newrow = translate_text(row, dest_language="en")
ListCapTranslated.append(newrow)
ListCapTranslated
在运行代码之前,请将 NordVPN 添加到系统路径,并通过 CMD 测试连接/断开服务器,以确保一切正常。
干杯。