我们公司正在尝试读取随机用户输入的所有实时数据流,即随机用户发送一条说“ABC公司”的推文。
看到如何使用 twitter 客户端搜索所述文本,我假设可以在不使用客户端的情况下聚合所有发送推文的推文,即在不使用主题标签的情况下进行归档、实时流式传输。
最好的方法是什么?如果你以前做过这个,你能分享你的脚本吗?我认为最简单的方法是通过运行 ruby/python 脚本,但我对 ruby/python 的理解充其量是有限的。
请帮忙?
这是最低限度的:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import twitter
from threading import *
from os import _exit, urandom
from time import sleep
from logger import *
import unicodedata
## Based on: https://github.com/sixohsix/twitter
class twitt(Thread):
def __init__(self, tags = None, *args, **kwargs):
self.consumer_key = '...'
self.consumer_secret = '...'
self.access_key = '...'
self.access_secret = '...'
self.encoding = 'iso-8859-15'
self.args = args
self.kwargs = kwargs
self.searchapi = twitter.Twitter(domain="search.twitter.com").search
Thread.__init__(self)
self.start()
def search(self, tag):
try:
return self.searchapi(q=tag)['results']
except:
return {}
def run(self):
while 1:
sleep(3)
要使用它,请执行以下操作:
if __name__ == "__main__":
t = twitt()
print t.search('#DHSupport')
t.alive = False
注意:这是线程化的唯一原因是因为它只是我为其他项目准备的一段代码,它让您了解如何使用 API 并可能构建一个后台服务来获取 twitter 上的搜索结果。我的原始代码中有很多废话,所以结构可能看起来有点奇怪。请注意,您实际上并不需要 consumer_keys 等来进行搜索,但您需要 OAuth 登录才能获得更多功能,例如发布或检查消息。
你真正需要的只有两件事是:
import twitter
print twitter.Twitter(domain="search.twitter.com").search(q='#hashtag')['results']