1

ツイートに特定のハッシュタグが含まれている場合にユーザーをリツイートする単純な Twitter ボットを作成しようとしています。

したがって、検索 URL については、次のようになります。 http://search.twitter.com/search.json?q=address&count=1

しかし、プログラムを実行するたびに、1 つのツイートとその情報しか得られません。なぜ10ツイートではなく1ツイートしか得られないのか混乱しています。「count」パラメーターの値を変更しても、1ツイートが得られます。

また、検索 URL を変更して「ハッシュタグ」を「q」に置き換えると、一連のエラーが発生します。 http://search.twitter.com/search.json?hashtags=151milford&count=10

上記の行で次のエラーが発生します

File "C:\Users\Documents\pythonbot.py", line 16, in <module>
    o = urllib2.urlopen(url) #open the url
  File "C:\PYTHON27\LIB\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\PYTHON27\LIB\urllib2.py", line 406, in open
    response = meth(req, response)
  File "C:\PYTHON27\LIB\urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\PYTHON27\LIB\urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "C:\PYTHON27\LIB\urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "C:\PYTHON27\LIB\urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden

私はまだAPIの使い方を学ぼうとしているので、どんなヒントでも素晴らしいでしょう

4

3 に答える 3

0

count に間違ったパラメーターを使用しています。ドキュメントをもう一度確認してください。

5 つのアイテムを返す次の URL を確認してください。

https://search.twitter.com/search.json?q=stackoverflow&rpp=5

パラメーターを使用してページあたりrppの結果数を制御し、パラメーターを使用してpage-offsetを制御します。page

また、新しい v1.1 API に移行してください。リンクは @pcalcao の投稿にあります。

于 2013-04-08T16:33:39.427 に答える
0

検索ですべてが見つからない理由がわかったと思います。どうやら Twitter はすべてのツイートをインデックスに登録していないため、検索結果にすべてが表示されないのはそのためです。

https://support.twitter.com/articles/66018#

于 2013-04-09T22:18:06.140 に答える
0

そのクエリを含むツイートが他にもありますか?

たとえば、次のように使用する場合は、ブラウザでその URL を使用します。

http://search.twitter.com/search.json?q=trending&count=10

10 件の結果が得られます。

Twitter 用の API は比較的最近のツイートのみを取得するため、クエリに一致する最近のツイートがない場合は何も取得しません。

サポートされているパラメーターについては、https://dev.twitter.com/docs/api/1.1を参照してください。

あなたが得ているエラーは、「ハッシュタグ」パラメータがないという事実によるものです。

于 2013-04-08T16:26:12.550 に答える