【问题标题】:How to constantly update data with Django如何使用 Django 不断更新数据
【发布时间】:2015-03-02 16:05:33
【问题描述】:

我正在使用 Django (1.7) 构建一个网站,该网站从 twitter api 中提取推文。我想要来自给定用户的最新 10 条推文。确保推文是最新的最好方法是什么?

我的想法是清除 10 条推文的数据库并每 5 分钟抓取最新的 10 条?我该怎么做?它会在 model.py 文件中吗?这是最好的方法吗?

现在我的 models.py 文件底部有以下代码。它完美地填充了数据,但我将如何更新它?我正在使用 twython 与 twitter api 和 python 3.4 进行交互。

list_of_people 是我正在测试的 Twitter 用户名。 twython 传回一个字典列表,然后我从每条推文中获取我想要的数据并将其放入数据库中

twitter = twython.Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

list_of_people = ["billgates", "TheEllenShow"]

for person in list_of_people:
    user_timeline = twitter.get_user_timeline(screen_name=person)
    for x in range(10):
        Category.objects.create(username=person, realname=user_timeline[x]['user']['name'], 
        tweets=user_timeline[x]['text'],tweettime=user_timeline[x]['created_at'])

【问题讨论】:

    标签: python django twitter


    【解决方案1】:

    您可以通过两种不同的方式做到这一点:

    • 使用 cron 定期调用您的脚本。这是最直接、最简单的解决方案。除了 cron 行之外,无需配置任何额外的工具。

    • 使用celery 配置periodic task。当然,这会花费您更多时间,因为您必须学习如何使用一种新的(非常有用的)工具。

    如果您认为其他任何东西都不需要芹菜,我会推荐第一个。如果你喜欢学习新的东西,第二个,因为这个任务将与 Django 更加集成。

    【讨论】:

    • 非常感谢!我会研究一下,看看哪一个最适合我,哪一个可以工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多