当前位置: 首页 > 面试题库 >

HTTPError:HTTP错误503:服务不可用的goslate语言检测请求:Python

陶超
2023-03-14
问题内容

我刚刚开始使用Python中的goslate库检测文本中单词的语言,但是在测试了7-8个输入后,我给出了输入,该单词用阿拉伯语和英语两种语言编写。之后,它开始给我错误。

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

我写的代码为:

# -*- coding: utf8 -*-
import urllib2
import goslate


gs = goslate.Goslate()

language_id = gs.detect('wait الدولة')

print (gs.get_languages()[language_id])

现在它对于我之前测试过的任何输入都根本不起作用,并且给了我同样的错误。我尝试在Google上找到错误解决方法,但没有任何帮助。

我尝试使用上面链接中建议的命令对其进行更新:

pip install -U goslate

但它没有帮助,因为它已经是我正在使用的最新更新版本。我还在图书馆文档中读到,在以下情况下,翻译时会发生这种错误:

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

我尝试使用代理连接,但无济于事。

编辑 原因可能是Google每天只允许一定数量的请求吗?在那种情况下,有什么更好的办法?是否有其他基于Python的库可以帮助我解决此问题?


问题答案:

在2016年1月5日的文档更新中,作者说他们不会更新Goslate以超越Google API访问控制:

Google最近通过票证机制更新了其翻译服务,以防止像goslate这样的简单爬网程序访问。尽管更复杂的爬虫在技术上仍然可以使用,但是它已经超出了使用服务和中断服务之间的界限。goslate不会被更新以破坏Google的票证机制。免费午餐结束了。感谢您的使用。

经过Google批准的,在您的程序中使用Google Translate的正式方法是使用付费的Google Cloud Translation
API
。除此之外,您将与Google的速率限制和漫游器检测作斗争。



 类似资料:
  • 问题内容: 我一直在使用亚马逊的产品广告API来生成包含给定书籍价格的网址。我生成的一个网址如下: http://www.amazon.com/gp/offer- listing/0415376327%3FSubscriptionId%3DAKIAJZY2VTI5JQ66K7QQ%26tag%3Damaztest04-20%26linkCode%3Dxm2%26camp%3D2025%26crea

  • 问题内容: 我是Jetty的新手,我尝试在此处运行示例程序“ http://www.codeproject.com/Articles/128145/Run- Jetty-Web-Server-Within-Your- Application ”,但我收到了错误消息我的页面“ http:// localhost:8585 / runJetty / ” 我从Eclipse获取的错误日志: 我的xml文

  • 我正在尝试搜索亚马逊的产品广告,并使用botlenose来帮助我做到这一点。但是,我刚刚收到HTTP错误400。 其他一些重要信息: 我来自巴西,我的标签也来自亚马逊。这是个问题吗? 我确实检查了我的钥匙、秘密和标签,一切正常。我确实在StackOverflow上查看了其他一些问题,但对我来说没有任何效果。 当然,出于安全原因,我更改了密钥。 Traceback(最近一次调用最后一次):File"

  • > 计数操作失败,出现以下错误消息: OriginalException:ElasticSearch.Net.ElasticSearchClientException:远程服务器返回错误:(503)服务器不可用。调用:状态代码503来自:GET/myindex/_count。ServerError:Type:search_phase_execution_exception原因:“All shard

  • 当我在我的服务器上用wget、curl或python爬行谷歌搜索引擎时,我遇到了一个非常奇怪的问题。Google将我重定向到以[ipv4 | ipv6]开头的地址。谷歌。fr/抱歉/索引重定向。。。最后发送503错误,服务不可用。。。 有时抓取工作正常,有时不是在白天,我尝试了几乎所有可能的方法:强制ipv4/ipv6而不是主机名、引用者、用户代理、vpn、. com/. fr/、代理和tor,.