Lisez des phrases en anglais en accédant à l'API Google Translation avec Python sans utiliser le module distribué

Il semble que la précision de la traduction de Google augmente de plus en plus. Je pense qu'il y a des situations où vous avez une grande quantité de phrases en anglais sous la main et que vous souhaitez les traduire en japonais. Jusqu'à ce que j'écrive ce Qiita, je pensais que l'orthographe de traduire était traduite, mais en appuyant sur l'API, même une personne aussi faible peut lire des phrases en anglais.

Document de traduction dans le cloud

La [bibliothèque cliente] Python officiellement distribuée (https://cloud.google.com/translate/docs/quickstart-client-libraries?hl=ja) ne fonctionnait pas bien dans mon environnement, donc j'avais des problèmes. J'ai décidé de frapper sans utiliser ce module. Veuillez consulter d'autres sites pour savoir comment enregistrer Google Cloud et obtenir une clé API.

Nous avons confirmé que cela fonctionne dans les deux environnements suivants.

Mac OS Mojave chardet(3.0.4) requests(2.18.4) urllib3(1.22)

Ubuntu 18.04 chardet (3.0.4) requests (2.22.0) urllib3 (1.25.7)

translate.py


import requests
import json
import time

private_key = '<Mettez votre clé API ici>'

def post_text(text):
    url_items = 'https://www.googleapis.com/language/translate/v2'
    item_data = {
        'target': 'ja',
        'source': 'en',
        'q':text
    }

    response = requests.post('https://www.googleapis.com/language/translate/v2?key={}'.format(private_key), data=item_data)
    # print(response.status_code)
    #Code d'état
    # print(response.text)
    #Obtenez la réponse sous forme de chaîne
    return json.loads(response.text)["data"]["translations"][0]["translatedText"]

    
def split_and_send_to_post(text):
    sen_list = text.split('.')
    
    to_google_sen = ""
    translated_text = ""
    
    for index, sen in enumerate(sen_list[:-1]):
        to_google_sen += sen + '. '
        if len(to_google_sen)>1000:
            #Envoyer à Google s'il dépasse 1 000 caractères
            translated_text += post_text(to_google_sen)
            time.sleep(3)
            
            to_google_sen = ""

        if index == len(sen_list)-2:
            #Traduction de la dernière phrase
            translated_text += post_text(to_google_sen)
            time.sleep(3)

    return translated_text
        

if __name__ == '__main__':

    original_text = "I hope this sentence is transrated."
    if original_text[-1] != '.':
        original_text+='.'
        #.Si cela ne se termine pas par, cela interférera avec le processus de division.
    text_translated = split_and_send_to_post(original_text)
    print(text_translated)

Si la phrase est trop longue, une erreur se produira du côté de Google, je vais donc la diviser en environ 1000 caractères et l'envoyer. (Je pense qu'une phrase incroyablement longue qui n'utilise pas. Provoquera une erreur. Elle est supposée pour une utilisation normale.) De plus, à partir de la v3, il semble que vous ne puissiez pas utiliser la clé API, donc j'utilise la v2.

Résultat d'exécution

$ python translate.py
J'espère que cette phrase est traduite.

référence Cloud Translation API

Recommended Posts

Lisez des phrases en anglais en accédant à l'API Google Translation avec Python sans utiliser le module distribué
J'ai essayé d'utiliser le module Datetime de Python
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Écoutez de la musique en accédant à l'API non officielle de Google Play Music
J'ai essayé de frapper l'API avec le client python d'echonest
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Une note sur l'utilisation de l'API Facebook avec le SDK Python
Pourquoi puis-je utiliser le module en important avec python?
Gonfler des données textuelles par retranslation à l'aide de Google Traduction en Python
Obtenez une traduction en anglais à l'aide de python google translation selenium (Remarque)
Appelez l'API avec python3.
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Créez une application qui recherche uniquement à l'aide de l'API de recherche personnalisée Google avec Python 3.3.1 dans Bottle
Jouez en accédant à l'API Riot Games en Python Première moitié
[Python] Accédez à l'API Google Translation
Accédez à l'API Etherpad-lite avec Python
Essayez d'utiliser le module Python Cmd
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
Derrière le flyer: utiliser Docker avec Python
Essayez d'utiliser Python avec Google Cloud Functions
Lisons le fichier RINEX avec Python ①
Travailler avec OpenStack à l'aide du SDK Python
Lisez le fichier ligne par ligne avec Python
Obtenez des vacances avec l'API Google Agenda
Jouez avec Dajare en utilisant l'API COTOHA
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
[Python] Totale automatiquement le nombre total d'articles publiés par Qiita à l'aide de l'API
Pour envoyer automatiquement des e-mails avec des pièces jointes à l'aide de l'API Gmail en Python
Demandez au bot de vous indiquer la météo (informations sur les précipitations) à l'aide de l'API d'informations météorologiques (YOLP) fournie par Yahoo ~ développement de bot slack avec python ④ ~
Script Python qui jette des phrases en anglais telles que l'homme qui dérangent avec des blancs et des sauts de ligne à la traduction Google
[Python] Exécutons le module régulièrement en utilisant schedule
Essayez d'utiliser l'API BitFlyer Ligntning en Python
J'ai essayé d'utiliser l'API Google Cloud Vision
Conseils pour accéder à l'API ATND avec Python
Spécification de la destination de chargement du module avec GAE python
Création récente de classement à l'aide de l'API Qiita avec Python
Essayez d'utiliser le module de collections (ChainMap) de python3
Lire ligne par ligne à partir d'un fichier avec Python
Essayez d'utiliser l'API DropBox Core avec Python
[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
Deuxième moitié de la première journée d'étude de Python Essayez d'utiliser l'API Twitter avec Bottle
Une histoire sur un débutant Python essayant d'obtenir des résultats de recherche Google à l'aide de l'API
Divers mémorandums lors de l'utilisation du sdk de l'API de messagerie LINE avec Python (2.7.9) + Google App Engine