tweepy Streaming API与Django的集成

问题描述 投票:1回答:1

我正在尝试创建一个通过tweepy.Stream()函数利用Twitter Streaming API的Django Webapp。 我很难概念化正确的实现。

我想拥有的最简单的功能是实时计算包含主题标签的推文的数量。 因此,每当一条新的推文通过连接时,我都会打开一个流,并按关键字进行过滤,我会增加一个计数器。 然后,该计数器将显示在网页上,并使用AJAX或其他方式进行更新。

问题在于tweepy.Stream()函数必须连续运行并连接到twitter(这就是重点)。 在增加可以(近)实时显示的计数器时,如何在Django应用程序的后台运行此流?

提前致谢!

ajax django streaming twitter tweepy
1个回答
6
投票

有多种方法可以做到这一点,但是使用消息传递库( celery )可能是最简单的。

1)保持python进程tweepy运行。 找到有趣的消息后,创建一个新的芹菜任务

2)在该胡萝卜任务内部,将数据持久保存到数据库中(计数器,tweet等)。 该任务可以很好地运行Django代码(例如ORM)。

3)有一个常规的django应用程序显示您的任务持续存在的结果。

作为预防措施,在监督下运行扭曲过程可能是一个理想的选择(supervisord可能适合您的需求)。 如果有任何问题,可以自动重新启动。

© www.soinside.com 2019 - 2024. All rights reserved.