python调用google提供的的客户端方式进行翻译

上一篇介绍了python构造http请求的方式向google的服务器发起翻译请求。其实google也提供了本地client的形式,不用自己构造HTTP 请求,安装google提供的客户端,然后调用客户端发起翻译请求即可,操作如下:

1,安装google云服务模块以及云翻译模块,命令如下

pip install --upgrade google-cloud
pip install --upgrade google-cloud-translate

2,合法性认证,通常使用这种方式调用google的服务是收费的,因此需要认证,如果没有认证,运行程序(例如后文中的示例程序)会提示需要认证,到这里
,按照操作进行认证即可。

3,第二步的操作页面中,最后给出了python的示例方法,但是介绍不是很全面,其也提供了github链接,该链接有丰富的示例,见这里

在路径python-docs-samples/translate/cloud-client/quickstart.py 中给出了快速调用客户端翻译的程序代码。在路径python-docs-samples/translate/cloud-client/snippets.py中给出了detect_language(语言检测),translate_text(翻译文本)等常见的翻译方法的调用,直接拿过来使用即可,非常的方便。当然官方给出了API文档,见这里

如下是一个调用的示例,基本参考的是官方给出的示例。

# encoding: utf-8
from google.cloud import translate


def detect_language(text):
    # [START translate_detect_language]
    """Detects the text's language."""
    translate_client = translate.Client()

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.detect_language(text)

    print('Text: {}'.format(text))
    print('Confidence: {}'.format(result['confidence']))
    print('Language: {}'.format(result['language']))
    # [END translate_detect_language]



def translate_text(target, text):
    # [START translate_translate_text]
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    translate_client = translate.Client()

    #if isinstance (text, six.binary_type):
        #text = text.decode('utf-8')

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(
        text, target_language=target)

    print(u'Text: {}'.format(result['input']))
    print(u'Translation: {}'.format(result['translatedText']))
    print(u'Detected source language: {}'.format(
        result['detectedSourceLanguage']))
    # [END translate_translate_text]

if __name__ == '__main__':

	text = u'Teknoloji haberleri ve ürün incelemeleri, iPhone 6s, iPhone 6s Plus, LG G4, Samsung, Galaxy S6, Note 5, HTC One M9, Note 4, Sony Xperia z5'
	#text_test = "hell world"
	target = 'zh-cn'
	translate_text(target,text)

	target = 'en'
	translate_text(target,text)
	#detect_language(text_test)

google 客户端的形式本质上也是封装了上一篇文章中介绍的HTTP请求,针对请求异常做了一些处理,因此直接使用客户端的形式避免了很多的麻烦,当然值得注意的是这种方式也是需要付费的。

本文为优快云村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村中少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值