0

次のリクエストを Twitter API に送信すると、次のエラーが発生します。

http://search.twitter.com/search.json?q=feel%2BOR%2Bi%27m%2BOR%2Bi+am%2BOR%2Bim%2BOR%2Bmakes+me%2BOR%2Bmade+me%2BOR%2Bmaking+me%2BOR%2Bmaking+me+feel%2BOR%2Bmy+mood%2BOR%2Bi%27m+so%2BOR%2Bim+so&rpp=99&page=14

Traceback (most recent call last):
  File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 95, in <module>
    moodParser()
  File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 93, in moodParser
    query()
  File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 37, in query
    main(columns)
  File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 52, in main
    response = urllib2.urlopen(twiturl)
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 400, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 438, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 372, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error

URL を生成するために使用しているコードは次のとおりです。

twiturl = "http://search.twitter.com/search.json?q=" + urlinfo + "&rpp=99&page=14"

どうしたの?これは、一度に送信するリクエストが多すぎる場合でしょうか?

4

1 に答える 1

0

最初の試行で同じことをしているので、おそらくレート制限ではありません。クエリを繰り返し短縮する:

これは、クエリの長​​さの制限だと思います。単語の途中で、再び失敗するまで文字を追加しますmood

それでも、260 文字のクエリ文字列は成功します。

ドキュメントはq、パラメーターについて次のように述べています。

演算子を含めて最大 1,000 文字の UTF-8 で URL エンコードされた検索クエリ。クエリは、複雑さによってさらに制限される場合があります。

単語を途中で切り取ると複雑さが増すというのは奇妙ですが、これで終わりです。

于 2012-07-25T20:09:23.503 に答える