Właśnie zacząłem używać biblioteki goslate w pythonie, aby wykryć język słów w tekście, ale po przetestowaniu go pod kątem 7-8 wejść, dałem wejście zawierające słowa napisane w dwóch językach arabskim i angielskim. Po czym zaczęło mi podawać błąd.HTTPError: Błąd HTTP 503: Usługa Niedostępne żądanie wykrycia języka goslate: Python
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
execfile("C:/test_goslate.py");
File "C:/test_goslate.py", line 12, in <module>
language_id = gs.detect('الدولة')
File "C:\Python27\lib\site-packages\goslate.py", line 484, in detect
return self._detect_language(text)
File "C:\Python27\lib\site-packages\goslate.py", line 448, in _detect_language
return self._basic_translate(text[:50].encode('utf-8'), 'en', 'auto')[1]
File "C:\Python27\lib\site-packages\goslate.py", line 251, in _basic_translate
response_content = self._open_url(url)
File "C:\Python27\lib\site-packages\goslate.py", line 181, in _open_url
response = self._opener.open(request, timeout=self._TIMEOUT)
File "C:\Python27\lib\urllib2.py", line 410, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 503: Service Unavailable
pisałem kod jako:
# -*- coding: utf8 -*-
import urllib2
import goslate
gs = goslate.Goslate()
language_id = gs.detect('wait الدولة')
print (gs.get_languages()[language_id])
i teraz nie działa w ogóle dla każdego wejścia, które ja wcześniej testowane i daje mi ten sam błąd. Próbowałem znaleźć rozwiązanie problemu w Google, ale nic nie pomogło. To co znalazłem: Link 1 - StackOverflow
Próbowałem aktualizacji za pomocą polecenia jak również sugerowane w linku powyżej:
pip install -U goslate
ale to nie pomogło, ponieważ jest już najnowsza zaktualizowana wersja, że jestem za pomocą. Również czytałem w dokumentacji biblioteki, że jeden dostaje ten rodzaj błędu do tłumaczenia, gdy:
If you get HTTP 5xx error, it is probably because google has banned your client IP address from transation querying.
You could verify it by access google translation service in browser manually.
You could try the following to overcome this issue:
query through a HTTP/SOCK5 proxy, see Proxy Support
using another google domain for translation: gs = Goslate(service_urls=['http://translate.google.de'])
wait for 3 seconds before issue another querying
Próbowałem za pomocą połączenia z serwerem proxy, ale nic nie pomogło.
EDIT może być powodem, że Google pozwala tylko trochę liczbę żądań dziennie? W takim razie, co można zrobić lepiej? Czy istnieje inna biblioteka oparta na pythonie, która może mi pomóc rozwiązać ten problem?
Proszę, pomóż mi w tym. Jestem dla niego nowy.
To doskonały wybór. – AritzBi
Nie, jest to również oparte na Google Translate API. Napotkasz ten sam błąd. Od textblob.py, linii 34: url = "http://translate.google.com/translate_a/t" – Taylor
jakieś wieści? czy istnieje realna alternatywa, która działa? –