从Python调用Google翻译
我想从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进行交流。
补充:之前没有说明来源在哪里,现在找到了,链接在 这里。