|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
爬谷歌翻译的,用qtpy5做了窗口。pyinstaller打包了带控制台的和不带控制台的,带控制台的都可以运行,不带的也可以打开窗口界面,但是运行下面的谷歌翻译时就崩溃,原因是什么?有什么解决办法?求助
- class Google:
- def __init__(self):
- pass
- def is_chinese(self, words):
- for w in words:
- if '\u4e00' < w < '\u9fa5':
- return True
- return False
- def get_tk(self, words):
- js = Py4jsjs.Py4Js()
- tk = js.getTk(words)
- return tk
- def translate(self, words):
- languages = ['zh-CN', 'en']
- language = languages[1] if self.is_chinese(words) else languages[0]
- response = requests.get(self.url.format(language, self.get_tk(words), words), headers=self.headers)
- gets = response.json()[0][0][0]
- if gets != ''.join(gets.split()) or words != ''.join(words.split())or response.json()[1] == None:
- return response.json()[0][0][0]
- else:
- a = []
- for text1 in response.json()[1]:
- a.append(text1[0])
- a.append('\n')
- for text2 in text1[2]:
- b = []
- b.append(text2[0])
- b.append(text2[1])
- a.append(str(b))
- a.append('\n')
- return ''.join(a)
复制代码
用到json解析,还有因为谷歌要tk值导入了py4js
- import execjs
- class Py4Js():
- def __init__(self):
- self.ctx = execjs.compile("""
- function TL(a) { ······
复制代码 |
|