从tweepy到django模型的保存方式很好

时间:2014-07-25 10:20:48

标签: django twitter django-models tweepy

我想知道是否有人能指出我正确的方向。 我试图获取推特数据并将其保存到数据库(使用Django ORM /模型)。

我的第一个方法是创建一个模型,其中包含推文(状态)的所有相关信息,如下所示:

class Tweet(models.Model):
    """
    A tweet (Status) with all the respective metadata
    """
     id = models.BigIntegerField()
     lang = models.CharField(max_length=10)
     retweet_count = models.PositiveIntegerField()
     text = models.CharField(max_lenght=150)
     source = ....
     ....

然后取出像:

#Almost pseudocode
from monitoring.models import Tweet
status = api.get_status('xxxx') # A simple tweet status with tweepy
newtweet = Tweet(id=status.id, screen_name = status.screen_name, followers_count = status.followers_count)
newtweet.save()

我想我可以用Tweety models factory做得更好更容易,但我不能按自己的方向前进...任何建议?任何示例/链接/文章都会很棒。

1 个答案:

答案 0 :(得分:0)

如果对您有帮助,我们使用了 pickle 并将 Twitter 数据保存在一个变量(硬盘)中。像这样在你的模型中使用泡菜:

import pickle
filename = 'finalized_model.sav'
pickle.dump(LR_model, open(filename, 'wb'))
pickl={'vectorizer':tf_vector,'model':LR_model,'clean':clean()}
pickle.dump(pickl,open('models'+".p","wb"))

然后把它放在你的 django apps.py 中:

path = os.path.join(settings.MODELS, 'models.p')
    with open(path, 'rb') as pickled:
        data = pickle.load(pickled)
    model = data['model']
    vectorizer = data['vectorizer']

假设您已经在 setting.py 中声明了您的模型。然后获取 twitter 数据在 views.py 中使用它