0

Python 用の Amazon 製品 API を使用していますが、次のようなエラーが常に発生します。

File "/usr/local/lib/python2.7/dist-packages/amazonproduct/paginators.py", line 47, in __iter__
    yield self.page(self.current + 1) 
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/paginators.py", line 54, in page
    root = self.fun(*self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/paginators.py", line 75, in <lambda>
    method = lambda *a, **b: fnc(api, *a, **b)
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/api.py", line 360, in item_search
    SearchIndex=search_index, **params)
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/api.py", line 281, in call
    fp = self._fetch(url)
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/contrib/retry.py", line 38, in _fetch
    return API._fetch(self, url)
  File "/usr/local/lib/python2.7/dist-packages/amazonproduct/api.py", line 208, in _fetch
    response = opener.open(request)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1180, in do_open
    r = h.getresponse(buffering=True)
  File "/usr/lib/python2.7/httplib.py", line 1030, in getresponse
    response.begin()
  File "/usr/lib/python2.7/httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.7/httplib.py", line 365, in _read_status
    line = self.fp.readline()
  File "/usr/lib/python2.7/socket.py", line 447, in readline
    data = self._sock.recv(self._rbufsize)
socket.timeout: timed out

これは何を意味し、どうすれば修正できますか? Amazonが一時的に私をブロックしているだけですか?(私のスクリプトは一定の API 呼び出しを実行します) スクリプトを再起動すると、少し実行されますが、その後再び停止します。

4

1 に答える 1

1

API 利用規約の第 4 段落を確認してください: https://affiliate-program.amazon.com/gp/advertising/api/detail/agreement.html

1 秒間に複数のリクエストを行うことはできません。「一定の API 呼び出し」を行っているため、実際にブロックされる可能性があります。

乾杯

于 2012-08-16T12:06:56.670 に答える