我使用了Twitter搜索API,但我只能获得100条推文.
然后我尝试使用Twitter流式过滤器API,但无法通过地理位置缩小,它似乎需要永远.我读到我们应该将所有推文放入数据库然后在那里进行聚合,但我想知道是否有其他方法可以快速做一些事情.
这是我的代码:
from twython import TwythonTWITTER_APP_KEY = 'XXXX'TWITTER_APP_KEY_SECRET = 'XXXX'TWITTER_ACCESS_TOKEN = 'XXXX'TWITTER_ACCESS_TOKEN_SECRET = 'XXXX't = Twython(app_key=TWITTER_APP_KEY,app_secret=TWITTER_APP_KEY_SECRET,oauth_token=TWITTER_ACCESS_TOKEN,oauth_token_secret=TWITTER_ACCESS_TOKEN_SECRET)search = t.search(q='#Accounting',geocode='-74,40,-73,41',since_ID='1',max_ID='504082008759488512' )tweets = search['statuses']count=0for tweet in tweets: count+=1 print tweet['ID_str'],'\n',tweet['text'],'\n\n\n'print count
这是我的Streaming API代码:
from twython import TwythonStreamerAPP_KEY = 'XXXX'APP_SECRET = 'XXXX' OAUTH_TOKEN = 'XXXX'OAUTH_TOKEN_SECRET = 'XXXX'class MyStreamer(TwythonStreamer): tweets=[] def on_success(self,data): if 'text' in data: tweet= data['text'].encode('utf-8') if 'Accounting' in tweet: tweets.append(tweet) print tweet def on_error(self,status_code,data): print status_code self.disconnect()stream = MyStreamer(APP_KEY,APP_SECRET,OAUTH_TOKEN,OAUTH_TOKEN_SECRET)stream.statuses.filter(location=['-74,41'])
谢谢
解决方法 您一次只能查询100个,但您可以说明查询应从哪个ID开始(或者大于或小于).所以你要做的就是运行你的前100个,然后寻找最低的ID并运行另一个查询,这次将该ID(少于1)设置为你的最大ID.这将返回下一个100,您将其追加到之前的结果中.
然后,您可以根据Twitter速率限制多次运行此循环.
如果要获取最新的推文,则应将t.setMaxID()或t.setSinceID()设置为分别低于或高于当前最低/最高ID.
总结以上是内存溢出为你收集整理的python – 如何使用Twython从twitter搜索或流式api获取超过100条推文全部内容,希望文章能够帮你解决python – 如何使用Twython从twitter搜索或流式api获取超过100条推文所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)