我们公司正在尝试读取随机用户输入的所有实时数据流,即随机用户发送一条说“ABC公司”的推文。
看看如何使用Twitter客户端搜索所述文本,我假设可以汇总所有发送不使用客户端的推文的推文,即在不使用主题标签的情况下实时流式传输
最好的方法是什么?如果你以前做过这个,你能分享你的剧本吗?我认为最简单的方法是通过ruby / python脚本运行,但我对ruby / python的理解充其量是有限的。
请帮助?
答案 0 :(得分:0)
这是最低限度的:
#!/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']