我正在挖掘Twitter Search API以获取某个主题标签的推文,并使用Django ORM将它们存储到Postgresql数据库中。
以下是处理此例程的tasks.py
文件中的代码。
"""Get some tweets and store them to the database using Djano's ORM."""
import tweepy
from celery import shared_task
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True)
@shared_task(name='get_tweets')
"""Get some tweets from the twiter api and store them to the db."""
def get_tweets():
tweets = api.search(
q='#python',
since='2016-06-14',
until='2016-06-21',
count=5
)
tweets_date = [tweet.created_at for tweet in tweets]
tweets_id = [tweet.id for tweet in tweets]
tweets_text = [tweet.text for tweet in tweets]
for i, j, k in zip(tweets_date, tweets_id, tweets_text):
update = Tweet(
tweet_date=i,
tweet_id=j,
tweet_text=k
)
update.save()
这是我的models.py
from django.db import models
class Tweet(models.Model):
tweet_date = models.DateTimeField()
tweet_id = models.CharField(max_length=50, unique=True)
tweet_text = models.TextField()
def __str__(self):
return str(self.tweet_date) + ' | ' + str(self.tweet_id)
我正在获取重复项,请访问Twitter API。
有没有办法在对象保存到数据库之前检查重复项。这里:
for i, j, k in zip(tweets_date, tweets_id, tweets_text):
update = Tweet(
tweet_date=i,
tweet_id=j,
tweet_text=k
)
update.save()
这是我在提取过程中可以处理的事情,还是我需要在之后进行清理的事情,比如在转型阶段?
答案 0 :(得分:1)
您可以让模特经理为您完成工作
import { Component, OnInit } from '@angular/core';
import {AbstractControl,FORM_DIRECTIVES } from '@angular/common';
@Component({
selector:'dropdown',
templateUrl:'app/components/dropdown/dropdown.component.html',
directives:[FORM_DIRECTIVES]
})
export class DropdownComponent implements OnInit
{
car:Car;
colours: Array<Colour>;
ngOnInit(): void {
this.colours = Array<Colour>();
this.colours.push(new Colour(-1, 'Please select'));
this.colours.push(new Colour(1, 'Green'));
this.colours.push(new Colour(2, 'Pink'));
this.car = new Car();
this.car.colour = this.colours[1];
}
}
export class Car
{
colour:Colour;
}
export class Colour
{
constructor(id:number, name:string) {
this.id=id;
this.name=name;
}
id:number;
name:string;
}