Python とRequestsを使用して、 Twitter のストリーミング APIからデータを要求しています。一連のパラメーターを使用してデータを要求したいのですが、しばらくしてから、新しい一連のパラメーターを使用して要求を変更します。
次の単純な実際の例では、Twitter ストリーミング API にキーワード「python」を含むツイートを要求しています。1 時間後、API にキーワード「ruby」を尋ねます。ただし、これを行うために、新しい requests オブジェクトを作成しています。元のオブジェクトを変更していません。
import requests
import json
import time
USER = 'user'
PW = 'pw'
def make_request(keyword):
r = requests.post('https://stream.twitter.com/1/statuses/filter.json',
data={'track': keyword}, auth=(USER,PW))
for line in r.iter_lines():
if line:
print json.loads(line)
if time.time() > start_of_last_request + 3600:
break
count = 0
keywords = ['python', 'ruby']
while count < 2:
start_of_last_request = time.time()
make_request(keywords[count])
count = count + 1
最終的には、1 時間ごとに新しいクエリを作成する必要があり、作成する接続が多すぎるのではないかと心配しています。
私の質問は次のとおりです。リクエストを Twitter API に変更するより良い方法はありますか? 実際に複数の接続を作成していますか? もしそうなら、どうすればこれを回避できますか? (以前の接続を閉じる方法についての提案がありますが、解決策は私にはあまり意味がありません。)
助けていただければ幸いです。ありがとうございました!