Lesen Sie englische Sätze, indem Sie mit Python auf die Google Übersetzungs-API klicken, ohne das verteilte Modul zu verwenden

Es scheint, dass die Genauigkeit der Google-Übersetzung immer höher wird. Ich denke, es gibt Situationen, in denen Sie eine große Anzahl englischer Sätze zur Hand haben und diese ins Japanische übersetzen möchten. Bis ich diese Qiita schrieb, dachte ich, dass die Schreibweise von übersetzen übersetzt war, aber durch Drücken der API kann selbst eine so schwache Person englische Sätze lesen.

Cloud-Übersetzungsdokument

Die offiziell verteilte Python Client Library funktionierte in meiner Umgebung nicht gut, sodass ich Probleme hatte. Ich habe mich entschieden, ohne dieses Modul zu schlagen. Auf anderen Websites erfahren Sie, wie Sie Google Cloud registrieren und einen API-Schlüssel erhalten.

Wir haben bestätigt, dass es in den folgenden zwei Umgebungen funktioniert.

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 = '<Geben Sie hier Ihren API-SCHLÜSSEL ein>'

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)
    #Statuscode
    # print(response.text)
    #Erhalten Sie die Antwort als Zeichenfolge
    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:
            #An Google senden, wenn mehr als 1000 Zeichen vorhanden sind
            translated_text += post_text(to_google_sen)
            time.sleep(3)
            
            to_google_sen = ""

        if index == len(sen_list)-2:
            #Übersetzung des letzten Satzes
            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+='.'
        #.Wenn es nicht mit endet, stört es den Teilungsprozess.
    text_translated = split_and_send_to_post(original_text)
    print(text_translated)

Wenn der Satz zu lang ist, tritt auf der Google-Seite ein Fehler auf, sodass ich ihn in etwa 1000 Zeichen aufteilen und senden werde. (Ich denke, dass ein wahnsinnig langer Satz, der nicht verwendet wird, einen Fehler verursacht. Er wird für den normalen Gebrauch angenommen.) Außerdem scheint es, dass Sie ab Version 3 nicht mit dem API-Schlüssel treffen können, sodass ich Version 2 verwende.

Ausführungsergebnis

$ python translate.py
Ich hoffe dieser Satz ist übersetzt.

Referenz Cloud Translation API

Recommended Posts

Lesen Sie englische Sätze, indem Sie mit Python auf die Google Übersetzungs-API klicken, ohne das verteilte Modul zu verwenden
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Sprachdateierkennung durch Google Speech API v2 mit Python
Spielen Sie Musik, indem Sie auf die inoffizielle API von Google Play Music klicken
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Ein Hinweis zum Aufrufen der Facebook-API mit dem Python SDK
Warum kann ich das Modul durch Importieren mit Python verwenden?
Aufblasen von Textdaten durch erneute Übersetzung mithilfe der Google-Übersetzung in Python
Holen Sie sich eine englische Übersetzung mit Python Google Translation Selen (Hinweis)
Rufen Sie die API mit python3 auf.
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client
Erstellen Sie eine Anwendung, die nur mit der Google Custom Search-API mit Python 3.3.1 in Bottle sucht
Spielen Sie, indem Sie die Riot Games-API in Python First Half drücken
[Python] Klicken Sie auf die Google Übersetzungs-API
Klicken Sie mit Python auf die Etherpad-Lite-API
Versuchen Sie es mit dem Python Cmd-Modul
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Versuchen Sie es mit der Wunderlist-API in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Hinter dem Flyer: Docker mit Python verwenden
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Lesen wir die RINEX-Datei mit Python ①
Arbeiten mit OpenStack mit dem Python SDK
Lesen Sie die Datei Zeile für Zeile mit Python
Holen Sie sich Urlaub mit der Google Kalender-API
Spielen Sie mit Dajare mithilfe der COTOHA-API
Erstellen einer Google-Tabelle mit der Python / Google Data-API
[Python] Summiert automatisch die Gesamtzahl der von Qiita mithilfe der API veröffentlichten Artikel
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python
Bitten Sie den Bot, Ihnen das Wetter (Niederschlagsinformationen) mithilfe der Wetterinformations-API (YOLP) mitzuteilen, die von Yahoo ~ Slack Bot Development mit Python ④ ~ bereitgestellt wird
Python-Skript, das englische Sätze wie man, die durch Leerzeichen und Zeilenumbrüche stören, in die Google-Übersetzung wirft
[Python] Lassen Sie uns das Modul regelmäßig nach Zeitplan ausführen
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Tipps zum Erreichen der ATND-API mit Python
Angeben des Modulladeziels mit GAE-Python
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Lesen Sie mit Python Zeile für Zeile aus der Datei
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
Zweite Hälfte des ersten Tages des Python-Studiums Versuchen Sie, die Twitter-API mit Bottle zu erreichen
Eine Geschichte über einen Python-Anfänger, der versucht, Google-Suchergebnisse mithilfe der API abzurufen
Verschiedene Memoranden bei Verwendung von SDK der LINE Messaging API mit Python (2.7.9) + Google App Engine