Python 特威顿利率限制问题
我想知道我如何能自动化我的程序,以每15分钟180个请求的最大速率获取tweet,这相当于每请求最多100个,总计18000条tweet。我在学校为一个独立的案例研究创建这个项目 我想我的计划,以避免被限制,并最终被终止。因此,我希望它能做到的是不断地使用每15分钟的最大请求数,并且能够让它在没有用户交互的情况下运行24小时来检索所有可能用于分析的tweet 这是我的密码。它获取查询的tweet并将其放入文本文件中,但最终会受到速率限制。非常感谢你的帮助Python 特威顿利率限制问题,python,api,twitter,tweets,twython,Python,Api,Twitter,Tweets,Twython,我想知道我如何能自动化我的程序,以每15分钟180个请求的最大速率获取tweet,这相当于每请求最多100个,总计18000条tweet。我在学校为一个独立的案例研究创建这个项目 我想我的计划,以避免被限制,并最终被终止。因此,我希望它能做到的是不断地使用每15分钟的最大请求数,并且能够让它在没有用户交互的情况下运行24小时来检索所有可能用于分析的tweet 这是我的密码。它获取查询的tweet并将其放入文本文件中,但最终会受到速率限制。非常感谢你的帮助 import logging impor
import logging
import time
import csv
import twython
import json
app_key = ""
app_secret = ""
oauth_token = ""
oauth_token_secret = ""
twitter = twython.Twython(app_key, app_secret, oauth_token, oauth_token_secret)
tweets = []
MAX_ATTEMPTS = 1000000
# Max Number of tweets per 15 minutes
COUNT_OF_TWEETS_TO_BE_FETCHED = 18000
for i in range(0,MAX_ATTEMPTS):
if(COUNT_OF_TWEETS_TO_BE_FETCHED < len(tweets)):
break
if(0 == i):
results = twitter.search(q="$AAPL",count='100',lang='en',)
else:
results = twitter.search(q="$AAPL",include_entities='true',max_id=next_max_id)
for result in results['statuses']:
print result
with open('tweets.txt', 'a') as outfile:
json.dump(result, outfile, sort_keys = True, indent = 4)
try:
next_results_url_params = results['search_metadata']['next_results']
next_max_id = next_results_url_params.split('max_id=')[1].split('&')[0]
except:
break
你应该使用
这将允许您接收搜索的近实时提要。您可以将这些推文写入文件,速度与它们输入的速度一样快
使用,您将只能收到您感兴趣的特定推文
您将需要使用-并且您的代码将如下所示:
from twython import TwythonStreamer
class MyStreamer(TwythonStreamer):
def on_success(self, data):
if 'text' in data:
print data['text'].encode('utf-8')
def on_error(self, status_code, data):
print status_code
stream = MyStreamer(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
stream.statuses.filter(track='$AAPL')
谢谢你的密码。我已经对拖缆进行了编程。我想做的是回到TwitterRESTAPI允许的7-9天,获取提到查询的tweet,或者在本例中是$AAPL