简介

谷歌翻译库Googletrans久负盛名,但是由于tk值计算问题,频繁出现AttributeError: 'NoneType' object has no attribute 'group'异常。

google_trans_new库在Googletrans的基础上进行了完善,算是能够正常运行吧,但是效果也不太尽如人意,翻译结果与谷歌翻译网页结果不太一致,翻译效果较差。

项目地址为https://github.com/lushan88a/google_trans_new。

google_trans_new库当前发行版本为1.1.9,可使用pip install google_trans_new
注意!1.19版本有一个问题没有修复,导致会出现json解析异常json.decoder.JSONDecodeError: Extra data: line 1 column 300 (char 299)
作者虽然修复了这个问题,但是一直没有将最新代码推送到pip。
因此,解决方法有两种:

  • 安装1.19版本,找到google_trans_new.py,将第151行response = (decoded_line + ']')修改为response = decoded_line
  • 到下载最新源码进行源码安装或者直接覆盖原有google_trans_new.py

使用方法

快捷翻译

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用translate方法,指定待翻译文本、翻译目标语言。
  • 结果返回翻译文本。
from google_trans_new import google_translator  translator = google_translator()
translate_text = translator.translate('สวัสดีจีน',lang_tgt='en')
print(translate_text)

结果为:Hello Chinese

检测语言

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用detect方法,指定待翻译文本。
  • 结果返回检测语言列表。
from google_trans_new import google_translator  detector = google_translator()
detect_result = detector.detect('สวัสดีจีน')
print(detect_result)

结果为:['th', 'thai']

检测结果发音

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用translate方法,指定待翻译文本、文本源语言、翻译目标语言,设置pronounce参数为True
  • 结果返回翻译文本及文本发音。
from google_trans_new import google_translator  translator  = google_translator()
Pronounce = translator.translate('สวัสดีจีน',lang_src='th',lang_tgt='zh-cn',pronounce=True)
print(Pronounce)

源码分析

google_trans_new库的结构非常简单:

│  __init__.py   # 重构命名空间,暴露google_translator类
│  constant.py   # 定义LANGUAGES(语言列表)和DEFAULT_SERVICE_URLS (谷歌翻译地址)
│  google_trans_new.py  # 翻译API

google_trans_new.py模块主要包含google_new_transError(Exception)google_translator两个类。

google_translator类的方法如下:

  • 构造方法:签名为__init__(self, url_suffix="cn", timeout=5, proxies=None)

    • 参数:

      • url_suffix指定谷歌翻译地址,默认值为cn
      • timeout指定超时时间,默认值为5
      • proxies指定代理。
  • 请求构造方法:签名为_package_rpc(self, text, lang_src='auto', lang_tgt='auto')

    • 参数:

      • text待翻译文本。
      • lang_src翻译文本源语言,默认值为auto,即自动。
      • lang_tgt翻译文本目标语言,默认值为auto,即自动。
    • 返回值:请求字符串。
  • 翻译方法:签名为translate(self, text, lang_tgt='auto', lang_src='auto', pronounce=False)

    • 参数:

      • text待翻译文本。用于调用_package_rpc方法构造请求。
      • lang_src翻译文本源语言,默认值为auto,即自动。用于调用_package_rpc方法构造请求数据。
      • lang_tgt翻译文本目标语言,默认值为auto,即自动。用于调用_package_rpc方法构造请求数据。
      • pronounce是否返回发音。
    • 返回值:翻译结果。
    • 大致流程:
      • 检测翻译语言参数是否合法,不合法设置为默认值。
      • 检测文本是否超过5000字符,超过提示异常。
      • 通过_package_rpc构造请求数据。
      • 通过requests库返回请求结果。
      • 解析请求结果。
  • 语言检测方法:签名为detect(self, text)

    • 参数:

      • text待检测文本。
    • 返回值:检测结果。

google_trans_new库:谷歌翻译库Googletrans的替代品相关推荐

  1. [编程基础] Python谷歌翻译库googletrans总结

    1 使用说明 本文介绍python谷歌翻译库接口googletrans的使用.具体见官方文档: https://py-googletrans.readthedocs.io/en/latest/#goo ...

  2. python谷歌翻译库googletrans使用 避坑!

    python谷歌翻译库googletrans使用 避坑! 1.安装正确版本的库 这个下载错了会报错 pip install googletrans==4.0.0-rc1 2.导包并设置翻译服务器地址 ...

  3. 谷歌翻译模块Googletrans库

    在爬取国外杂志网站的时候,一些标题需要进行翻译.下载第三方库 安装 pip install googletrans 用法 from googletrans import Translatordef T ...

  4. 用“小聪明”实现连续爬取谷歌翻译

    爬取谷歌翻译 所需附件stealth.min.js 前提 思路 调整 代码实现 使用备注 所需附件stealth.min.js 来自顽强拼搏的阿k博主的stealth.min.js,下载不需要C币或积 ...

  5. 【真的?】用 ChatGPT 写一篇 Python 翻译库博客,可以打 9 分

    今天来个大的实践项目,用 ChatGPT 写一篇博客,冲击一下热榜! 从零开始玩 ChatGPT ⛳️ ChatGPT 亮点 ⛳️ 账号篇 ⛳️ 第一次使用 ⛳️ 用 Python 实现一个英汉互译的 ...

  6. 【googletrans包】Python谷歌翻译

    目录 python谷歌翻译 运行代码示例 执行结果 python谷歌翻译 参考文章: python 调用谷歌翻译接口 报错: $python P4_omim_unique_pheid_tran.py ...

  7. 使用谷歌jquery库文件的理由

    使用谷歌jquery库文件的理由 最近看到,那些引用jquery的文件那些网站,好多是使用谷歌的库:像这样的<script type="text/javascript"src ...

  8. 西安电子地图下载 来自谷歌电子地图库 地图展示15、17、19级

    西安电子地图下载 来自谷歌电子地图库 地图展示15.17.19级 一般来说商业用图几乎相同就是17级左右,提供的下载全然满足大多数人浏览使用,假设用于旅行外出当然级数越高越好,假设是驴行,那就更有必要 ...

  9. Py之cx_Freeze:Python库之cx_Freeze库(程序打包)简介、安装、使用方法详细攻略—案例之实现机器人在线24小时智能翻译

    Py之cx_Freeze:Python库之cx_Freeze库(程序打包)简介.安装.使用方法详细攻略-案例之实现机器人在线24小时智能翻译 导读      将Python程序生成exe程序目前流行这 ...

  10. 广州电子地图下载 来自谷歌电子地图库 地图展示15、17、19级

    广州电子地图下载 来自谷歌电子地图库 地图展示15.17.19级 一般来说商业用图差不多就是17级左右,提供的下载完全满足大多数人浏览使用,如果用于旅行外出当然级数越高越好,如果是驴行,那就更有必要下 ...

最新文章

  1. 正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马
  2. python 网络爬虫requests模块
  3. [导入]一再的变故,终于决定何去何从.
  4. uva 538Balancing Bank Accounts(构造)
  5. DeadXSpace项目进度
  6. Harbor快速部署到Kubernetes集群及登录问题解决
  7. 【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)
  8. 光热发电成千亿元市场 加速产业布局
  9. 源码安装MySQL步骤
  10. 安装RabbitMQ无法访问(http://localhost:15672)解决方案
  11. 【Demllie航天】航天器控制系统
  12. 数学第一单元计算机思维导图,四年级下册第一单元思维导图数学
  13. 分词:词性标注北大标准
  14. 农历及农历闰月的计算方法
  15. 分开奇数和偶数(C语言实现)
  16. iPhone手势处理--UIGestureRecognizer
  17. 降钙素(Cys(Acm)²·⁷)-α-CGRP (human)、125448-83-1
  18. 云服务器1:云服务器能干什么
  19. html 苏宁首页,简单实现
  20. 利用MC34063升压180V的心(辛)路(酸)历(经)程(历)

热门文章

  1. 苹果8p录像鸿蒙,录屏怎么录苹果8p | 手游网游页游攻略大全
  2. 魔都职场外卖(加班)大赏
  3. 近视眼手术之后计算机专业,做完近视激光手术后多久可以整天对着电脑工作。应注意什么?...
  4. 数据权属界定面临的问题困境与破解思路
  5. 小红书6.18种草拔草投放攻略,品牌制胜决策时刻
  6. 计算机不联网会有ip地址吗,不联网的电脑有ip地址吗
  7. iSCSI部署网络存储
  8. uniapp安卓创建桌面快捷方式
  9. 【机器学习】分类性能度量指标 : ROC曲线、AUC值、正确率、召回率、敏感度、特异度
  10. 【R语言】敏感度、特异度、准确率检验及置信区间求解