0

我们公司正在尝试读取随机用户输入的所有实时数据流,即随机用户发送一条说“ABC公司”的推文。

看到如何使用 twitter 客户端搜索所述文本,我假设可以在不使用客户端的情况下聚合所有发送推文的推文,即在不使用主题标签的情况下进行归档、实时流式传输。

最好的方法是什么?如果你以前做过这个,你能分享你的脚本吗?我认为最简单的方法是通过运行 ruby​​/python 脚本,但我对 ruby​​/python 的理解充其量是有限的。

请帮忙?

4

1 回答 1

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']
于 2013-04-30T16:35:56.067 回答