zoukankan      html  css  js  c++  java
  • srt字幕翻译

    需要把字幕名改成i.txt

    有有道和谷歌

    代码:

    #Author:Chenglong Qian
    #Copyright :Chenglong Qian
    import json
    import requests
    import re
    import os
    import sys
    from GoogleFreeTrans import Translator
    
    def google(ttt):
        translator = Translator.translator(src='auto', dest='zh-CN')
        return translator.translate(ttt)
    
    num=392
    def translator(str):
        """
        input : str 需要翻译的字符串
        output:translation 翻译后的字符串
        有每小时1000次访问的限制
        """
        global  num;
        num=num+1
        # API
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
        # 传输的参数, i为要翻译的内容
        key = {
            'type': "AUTO",
            'i': str,
            "doctype": "json",
            "version": "2.1",
            "keyfrom": "fanyi.web",
            "ue": "UTF-8",
            "action": "FY_BY_CLICKBUTTON",
            "typoResult": "true"
        }
        # key 这个字典为发送给有道词典服务器的内容
        response = requests.post(url, data=key)
        # 判断服务器是否相应成功
        if response.status_code == 200:
            # 通过 json.loads 把返回的结果加载成 json 格式
            result = json.loads(response.text)
            translation = result['translateResult'][0][0]['tgt']
            return translation
        else:
            print("有道词典调用失败")
            # 相应失败就返回空
            return None
    
    f = open("i.txt","r", encoding='UTF-8')   
    txtstr = f.read()     #将txt文件的所有内容读入到字符串txtstr中
    f.close()
    
    list = txtstr.split('
    ')
    print(list)
    
    q=input("选择翻译平台:1.有道 2.谷歌")
    q=int(q)
    
    j=0
    for uchar in list:
        if (uchar >= u'u0041' and uchar<=u'u005a') or (uchar >= u'u0061' and uchar<=u'u007a'):
            
            if q==1:
                china=translator(uchar)
            elif q==2:
                china=google(uchar)
            list[j]=china
            print(china)
            
        j=j+1
        
        
    txt="" 
    for i in list: 
        txt=txt+'
    '+i
     
    print(txt) 
    
    f = open("china.txt","x")
    
    with open('china.txt','w', encoding='UTF-8') as f:    #设置文件对象
        f.write(txt)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
        
        
        
        
        
            
  • 相关阅读:
    62. 不同路径-dp-中等
    49. 字母异位词分组-字符串-中等
    34. 在排序数组中查找元素的第一个和最后一个位置-二分查找-中等
    33. 搜索旋转排序数组-二分查找-中等
    221. 最大正方形-dp-中等难度
    38. 外观数列-字符串-中等难度
    mysql-索引/视图/存储过程/函数/触发器
    mysql-常用命令
    MDK5.34发布,AC6升级至V6.16(2021-03-19)
    STM32H7的CAN FD教程笔记
  • 原文地址:https://www.cnblogs.com/Ctrl-cCtrl-v/p/12763960.html
Copyright © 2011-2022 走看看