import random import hashlib import requests import time import os def baidu_translate(word): api_url = 'http://api.fanyi.baidu.com/api/trans/vip/translate' # 百度翻译appid # appid = '20230629001728201' # # api的密码 # secretKey = 'mTOyai8ueVnmkdZ3atRj' appid = '20230607001703210' secretKey = 'neGN1Q7ZLi1TLSM4YIpM' salt = random.randint(32768, 65536) str1 = (appid + word + str(salt) + secretKey) md = hashlib.md5() md.update(str1.encode('utf-8')) sign = md.hexdigest() # 可以设置翻译的语言 api_data = { 'q': word, 'from': 'cht', 'to': 'ara', # 'to': 'en', 'appid': appid, 'salt': salt, 'sign': sign } req_get = requests.get(api_url, api_data) # 结果的位置可能不同 result_json = req_get.json() # print(result_json) result: str = '' if 'trans_result' in result_json: result = result_json['trans_result'][0]['dst'] return result def spider(filepath, suffix): code_files = [] for root, dirs, files in os.walk(filepath, topdown=False): for f in files: file = os.path.join(root, f) if file.endswith(suffix): code_files.append(file.replace("\\", "/")) return code_files def message(code_files): msgs = [] for i in code_files: fp = open(i, 'r', encoding='utf-8') data = fp.readlines() for line in data: curr_code = line.strip('\n') if curr_code is None: curr_code = line.strip('\r\n') msgs.append(curr_code) return msgs if __name__ == '__main__': code_files = spider('/Users/liaozetao/Downloads/', '.txt') msgs = message(code_files) # for m in msgs: # while True: # try: # if len(m) == 0: # continue # content = baidu_translate(m) # content = content.replace(' ', '_') # content = content.replace('"+', '') # content = content.replace('+"', '') # content = content.replace('+', '_') # content = content.replace('.', '') # content = content.replace('~', '') # content = content.replace('()', '') # content = content.replace('!', '') # content = content.upper() # print(content, '(500', ',"', m, '"),') # time.sleep(1) # break # except Exception as e: # print(e) # continue for m in msgs: try: if len(m) == 0: continue arr = m.split(', ') str1: str = '' if len(arr) > 0: str1 = arr[0] str2: str = '' if len(arr) > 1: str2 = arr[1] if len(str2) == 0: continue else: str2 = str2.split(')')[0] str2 = str2.replace('"', '') content = str2 # content = baidu_translate(str2) if len(str1) > 0 and '(' in str1: str1 = str1.split('(')[0] print('BusiStatus.', str1, '="', content, '"') # time.sleep(1) except Exception as e: print(e) continue # for m in msgs: # try: # if len(m) == 0: # continue # arr = m.split('("') # str1: str = '' # if len(arr) > 0: # str1 = arr[0] # str2: str = '' # if len(arr) > 1: # str2 = arr[1] # if len(str2) == 0: # continue # else: # str2 = str2.split(')')[0] # str2 = str2.replace('"', '') # # content = str2 # content = baidu_translate(str2) # if len(str1) > 0 and '(' in str1: # str1 = str1.split('(')[0] # print('BusiStatus.', str1, '="', content, '"') # time.sleep(1) # except Exception as e: # print(e) # continue