Python: Goslate translation request returns “503:

2019-04-08 23:27发布

A few months ago, I used Python's goslate package to translate a bunch of French text to English. When I tried to do so this morning, though, the service returned an error:

import goslate
gs = goslate.Goslate()
print gs.translate('hello world', 'de')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\Python27\lib\site-packages\goslate.py", line 389, in translate
    return _unwrapper_single_element(self._translate_single_text(text, target_language, source_language))
  File "c:\Python27\lib\site-packages\goslate.py", line 317, in _translate_single_text
    results = list(self._execute(make_task(i) for i in split_text(text)))
  File "c:\Python27\lib\site-packages\goslate.py", line 200, in _execute
    yield each()
  File "c:\Python27\lib\site-packages\goslate.py", line 315, in <lambda>
    return lambda: self._basic_translate(text, target_language, source_lauguage)[0]
  File "c:\Python27\lib\site-packages\goslate.py", line 241, in _basic_translate
    response_content = self._open_url(url)
  File "c:\Python27\lib\site-packages\goslate.py", line 178, in _open_url
    response = self._opener.open(request, timeout=self._TIMEOUT)
  File "c:\Python27\lib\urllib2.py", line 437, in open
    response = meth(req, response)
  File "c:\Python27\lib\urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "c:\Python27\lib\urllib2.py", line 469, in error
    result = self._call_chain(*args)
  File "c:\Python27\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "c:\Python27\lib\urllib2.py", line 656, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "c:\Python27\lib\urllib2.py", line 437, in open
    response = meth(req, response)
  File "c:\Python27\lib\urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "c:\Python27\lib\urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "c:\Python27\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "c:\Python27\lib\urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 503: Service Unavailable

Does anyone know what happened to goslate? If it's gone for good, are there decent alternatives to the goslate package for translating French to English via an API call?

1条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-04-09 00:21

Please make sure you're using the newest version of Goslate and if not, try updating it from its repository. There were some changes in the API this month, and they are implemented in Goslate already. I've just checked it in my app, it does work flawlessly.
In order to update Goslate, you may need to install Mercurial version controlling system.
After installing Mercurial, clone the repo with this command:

hg clone https://bitbucket.org/zhuoqiang/goslate

and then update it from time to time like this (you need to be in the repository folder for this to work):

hg pull -u
查看更多
登录 后发表回答