Ho appena iniziato a utilizzare la libreria goslate in python per rilevare la lingua delle parole in un testo ma dopo averlo testato per 7-8 ingressi, ho dato il input che aveva le parole scritte in due lingue arabo e inglese. Dopo di che, ha iniziato a darmi l'errore.HTTPError: Errore HTTP 503: servizio Non disponibile richiesta di rilevamento lingua 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
ho scritto il codice come:
# -*- coding: utf8 -*-
import urllib2
import goslate
gs = goslate.Goslate()
language_id = gs.detect('wait الدولة')
print (gs.get_languages()[language_id])
ed ora non funziona affatto per qualsiasi ingresso, che ho provato in passato e mi sta dando lo stesso errore. Ho provato a trovare la risoluzione dell'errore su google, ma nulla ha aiutato. Questo è quello che ho trovato: Link 1 - StackOverflow
ho provato ad aggiornare con il comando suggerito come anche nel link qui sopra:
pip install -U goslate
ma non ha aiutato in quanto è già la nuova versione aggiornata che io sono utilizzando. Inoltre ho letto nella documentazione della libreria che si ottiene questo tipo di errore per la traduzione quando:
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
Ho provato ad utilizzare connessione proxy, ma non serviva a niente.
EDIT Può essere che Google consenta solo un numero limitato di richieste al giorno? In tal caso, cosa si può fare meglio? C'è qualche altra libreria basata su Python che può aiutarmi a risolvere questo?
Per favore qualcuno mi aiuti in questo. Sono nuovo ad esso.
Si tratta di una scelta eccellente. – AritzBi
No, questo è anche costruito sull'API di Google Translate. Incontrerai lo stesso errore. Da textblob.py, riga 34: url = "http://translate.google.com/translate_a/t" – Taylor
ci sono novità? c'è una valida alternativa che funzioni? –