使用google的gTTS函式庫是很方便的文字轉語音函式庫,原理是基於網路爬蟲相關技術,到google的翻譯網頁傳要求請google轉成語音,再把語音下載下來。
但google回傳的東西往往會突然變更格式--這時候這種函式庫就需要更新解析的方法。
因此我們設立本專頁,專門處理gTTS修正的方法。
————————————————————————————————————–
11/29後更新,請將以下程式碼放在你有用到gTTS的程式碼之前:
import calendar import time import math import re import requests from gtts import gTTS from gtts_token.gtts_token import Token def _patch_faulty_function(self): if self.token_key is not None: return self.token_key timestamp = calendar.timegm(time.gmtime()) hours = int(math.floor(timestamp / 3600)) results = requests.get("https://translate.google.com/") tkk_expr = re.search("(tkk:*?'\d{2,}.\d{3,}')", results.text).group(1) tkk = re.search("(\d{5,}.\d{6,})", tkk_expr).group(1) a , b = tkk.split('.') result = str(hours) + "." + str(int(a) + int(b)) self.token_key = result return result Token._get_token_key = _patch_faulty_function