私はutf-8テキストでPythonからのグーグル翻訳を使用しようとしています。json apiを呼び出すにはどうすればよいですか?HTMLに埋め込むためのドキュメントがありますが、適切なAPIまたはwsdlがどこにも見つかりません。
ありがとうラファエル
私はutf-8テキストでPythonからのグーグル翻訳を使用しようとしています。json apiを呼び出すにはどうすればよいですか?HTMLに埋め込むためのドキュメントがありますが、適切なAPIまたはwsdlがどこにも見つかりません。
ありがとうラファエル
これが最終的に私のために働くコードです。ajax API なしで Web サイトを使用すると、IP が禁止される可能性があるため、これは優れています。
#!/usr/bin/env python
from urllib2 import urlopen
from urllib import urlencode
import urllib2
import urllib
import simplejson
import sys
# The google translate API can be found here:
# http://code.google.com/apis/ajaxlanguage/documentation/#Examples
def translate(text = 'hola querida'):
tl="es"
sl="en"
langpair='%s|%s'%(tl,sl)
base_url='http://ajax.googleapis.com/ajax/services/language/translate?'
data = urllib.urlencode({'v':1.0,'ie': 'UTF8', 'q': text.encode('utf-8'),
'langpair':langpair})
url = base_url+data
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
result = json['responseData']['translatedText']
return result
Peteris Kramins (彼のブログ)の xgoogle を使用します。
>>> from xgoogle.translate import Translator
>>>
>>> translate = Translator().translate
>>>
>>> print translate("Mani sauc Pēteris", lang_to="en")
My name is Peter
>>>
>>> print translate("Mani sauc Pēteris", lang_to="ru").encode('utf-8')
Меня зовут Петр
>>>
>>> print translate("Меня зовут Петр")
My name is Peter
私が見つけたものを見てください:http://code.google.com/intl/ru/apis/ajaxlanguage/terms.html
興味深い部分は次のとおりです。
お客様は、お客様のエンド ユーザーまたはその他の第三者に次のことを許可することはありません。 .... * 長さが 5000 文字を超える要求を送信する。....
javascript から使用する必要がある ajax API http://code.google.com/apis/ajaxlanguage/について話していると思うので、「Python からの Google 翻訳」の意味がわかりません。
あるいは、Python から翻訳機能を使用する必要がある場合は、翻訳ページに直接クエリを実行し、xml/html ライブラリ (beautiful Soup、html5lib など) を使用して解析することができます。
実際、私は一度それを行い、美しいスープはグーグル翻訳では機能しませんでしたが、html5lib( http://code.google.com/p/html5lib/ ) は機能しました
このようなことをする必要があります(私のより大きなコードベースからコピーされました)
def translate(text, tlan, slan="en"):
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'translate.py/0.1')]
htmlPage = opener.open(
"http://translate.google.com/translate_t?" +
urllib.urlencode({'sl': slan, 'tl':tlan}),
data=urllib.urlencode({'hl': 'en',
'ie': 'UTF8',
'text': text.encode('utf-8'),
'sl': slan, 'tl': tlan})
)
parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("etree", cElementTree))
etree_document = parser.parse(htmlPage)
return _getResult(etree_document)