Skip to content

Commit

Permalink
fix: google translate 混合多行文本
Browse files Browse the repository at this point in the history
close #229 close #207 close #173
  • Loading branch information
sqzw-x committed Jul 23, 2024
1 parent 3c9638f commit 39c358a
Showing 1 changed file with 15 additions and 23 deletions.
38 changes: 15 additions & 23 deletions src/models/core/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,33 +57,18 @@ def get_yesjav_title(json_data, movie_number):


def google_translate(title, outline):
msg = '%s\n%s' % (title, outline)
title, e1 = _google_translate(title)
outline, e2 = _google_translate(outline)
return title, outline, e1 or e2


def _google_translate(msg: str) -> (str, str):
msg_unquote = urllib.parse.unquote(msg)
url = f'https://translate.google.com/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q={msg_unquote}'
# url = f'https://translate.google.com/translate_a/single?client=at&sl=auto&tl=zh-CN&dt=t&q={msg_unquote}'
result, response = get_html(url, json_data=True)
if not result:
return title, outline, f'请求失败!可能是被封了,可尝试更换代理!错误:{response}'
else:
try:
result = []
original = []
for each in response[0]:
result.append(each[0])
original.append(each[1])
if not title:
outline = ''.join(result)
elif not outline:
title = ''.join(result)
else:
for i in range(len(original)):
if len(''.join(original[:i + 1])) > len(title):
break
title = ''.join(result[:i])
outline = ''.join(result[i:])
return title.strip(), outline.strip(), ''
except Exception as e:
return title, outline, f'返回数据格式异常!返回内容:{response} 错误:{e}'
return msg, f'请求失败!可能是被封了,可尝试更换代理!错误:{response}'
return "".join([sen[0] for sen in response[0]]), ""


def download_file_with_filepath(json_data, url, file_path, folder_new_path):
Expand Down Expand Up @@ -963,3 +948,10 @@ def check_proxyChange():
signal.show_net_info('\n🌈 代理设置已改变:')
show_netstatus()
Flags.current_proxy = new_proxy


if __name__ == '__main__':
t, o, e = google_translate(
"誰もが憧れるバリキャリOLの週末メス犬日記 現場男の汗臭チ〇ポが生きがいとは、絶対に言えない。",
"主人公の楓ふうあは、大手ゼネコンに勤務する、バリバリのキャリアウーマン。内勤でも現場でも、部下や下請けに躊躇なくダメ出しをする。優秀な彼女は上司からも好かれているが、男にも立場にも媚びず、週末の誘……(略)")
print(t)

0 comments on commit 39c358a

Please sign in to comment.