如果我明白你在找什么,你可能会想要一个
statuses/filter
,使用
track
参数具有您要查找的任何区别特征(标签、单词、短语、位置、用户)。
许多TwitterAPI库都内置了这个功能,但基本上你保持一个HTTP连接的开放,Twitter会不断地向你发送Twitter。见
streaming API overview
有关详细信息。如果你的库不为你做这些,你就必须检查掉的连接和重新连接,检查错误代码,等等——这些都在概述中。但是,在它们出现时添加它们将允许您首先完全消除重复项(除非您只允许每个用户一个条目——但这是稍后将要处理的客户端限制)。
只要你不敲打你的数据库,一旦你的Twitter只是发送你的东西,你就可以控制你的终端-你可以很容易地让你的客户缓存他们进来的tweet,然后在给定的时间或计数间隔把他们写进数据库-每5分钟写一次它收集到的任何东西,或者写一次它有100条tweet,或者两者都写(很明显ese数字只是占位符)。这时,如果需要的话,您可以检查现有的用户名——编写一个缓存列表可以让您有最好的机会让事情变得高效,无论您想怎样。
更新:
我上面的解决方案可能是最好的方法,如果你想获得现场效果(它似乎是你做的)。但正如另一个答案中所提到的,很可能只使用
Search API
在比赛结束后收集参赛作品,而不必担心如何存储它们-您可以在要求结果时指定页面(如搜索API链接中所述),但总的来说,您可以获取多少结果是有限制的,这可能会导致您错过一些参赛作品。什么解决方案最适合您的应用程序取决于您自己。