从Python调用Google翻译

4 投票
3 回答
2961 浏览
提问于 2025-04-15 12:37

我想从Python中执行这个脚本(查看源代码),它使用了Google翻译的AJAX API,并且能够传递参数并获取结果。我对HTML部分不感兴趣。

我明白我需要嵌入某种JavaScript解释器。这是否意味着我需要有一个浏览器实例并对其进行操作?从Python访问这个API的最简单方法是什么?

3 个回答

1

最近我遇到一个问题,因为我需要翻译很长的字符串,所以不能使用网址参数,而是得用数据负载。我觉得在这里分享这个解决方案是个好主意。
这个技巧其实就是用Python的Requests模块来发送POST请求,但因为谷歌要求使用GET请求,所以我们需要用'X-HTTP-Method-Override'这个头信息来把请求方法改成GET。
(直接用requests.get会搞乱数据负载)

代码如下:

import requests


def translate_es_to_en(text):
    url = "https://www.googleapis.com/language/translate/v2"
    data = {
        'key': '<your-server-google-api-key>'
        'source': 'es',
        'target': 'en',
        'q': text
    }
    headers = {'X-HTTP-Method-Override': 'GET'}

    response = requests.post(url, data=data, headers=headers)
    return response.json()

希望这能帮助到还在解决这个问题的朋友们

3

你可以使用RESTful API,它是为不使用Javascript的环境设计的。

http://code.google.com/apis/ajaxlanguage/documentation/reference.html#_intro_fonje

从Python使用这个应该很简单。

3

你可以使用 google-api-translate-python 来和谷歌的API进行交流。

补充:之前没有说明来源在哪里,现在找到了,链接在 这里

撰写回答