Python调用谷歌翻译API实现文本翻译

本文将用Python调用谷歌翻译API实现文本翻译;

使用Python向谷歌翻译URL进行GET请求,得到网页内容后使用正则表达式进行解析,获得翻译结果;

由于谷歌翻译停止了对中国大陆的服务,以前的API无法继续使用;

下例代码中的API已进行过更改,但需要使用VPN或代理才能访问;

实现代码

import re
import html
from urllib import parse
import requests

GOOGLE_TRANSLATE_URL = 'http://translate.google.com/m?q=%s&tl=%s&sl=%s'

def translate(text, to_language="auto", text_language="auto"):

    text = parse.quote(text)
    url = GOOGLE_TRANSLATE_URL % (text,to_language,text_language)
    response = requests.get(url)
    data = response.text
    expr = r'(?s)class="(?:t0|result-container)">(.*?)<'
    result = re.findall(expr, data)
    if (len(result) == 0):
        return ""

    return html.unescape(result[0])

print(translate("你吃饭了么?", "en","zh-CN")) #汉语转英语
print(translate("你吃饭了么?", "ja","zh-CN")) #汉语转日语
print(translate("about your situation", "zh-CN","en")) #英语转汉语

输出:

Have you eaten?
食事はしましたか?
关于你的情况

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/python-calls-google-translate-api.html

分类: 计算机技术
推荐阅读:
Python实现链表 链表是一系列数据元素,它们通过指针连接在一起。每个数据元素都包含指向指针形式的另一个数据元素的连接。Python在其标准库中没有链接列表;作者将使用的节点的概念来实现链表。
使用C语言计算圆周率 以下是C语言代码示例,使用莱布尼茨级数计算圆周率:
PySide6 读取和修改按钮(QPushButton)的文本 要获取 QPushButton 的文本内容,你可以使用 text() 方法。这个方法会返回按钮当前显示的文本。要修改 QPushButton 的文本,你可以使用 setText() 方法。这将允许你在按钮上更改显示的文本内容。
Python help()函数 在 Python 中,help() 函数可以用于获取帮助信息。help() 函数的作用是打印出指定对象的帮助文档。如果不指定任何参数,则进入交互式帮助模式。
Python 生成UUID 在Python中,可以使用uuid模块生成UUID。默认情况下,uuid.uuid4()函数会生成一个随机UUID。
TypeError: __format__ must return a str, not NoneType 在 Python 中,如__format__()方法必须返回一个字符串,否则将触发类似TypeError: __format__ must return a str, not NoneType的错误;