트윗을 받고 데이터베이스에 모든 트윗을 저장하기 위해 Tweepy를 사용하고 있습니다. 하지만 지금 직면하고있는 문제는 Tweepy가 데이터베이스에 중복 트윗을 저장하는 것입니다.Tweepy가 데이터베이스에 중복 트윗을 저장하지 않습니다.
여기의 I는 아래의 사용 코드 :
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
from flask_sqlalchemy import SQLAlchemy
from models import TrainingTweets, db
import mysql.connector
import json
import tweepy
from tweepy.api import API
#consumer key, consumer secret, access token, access secret.
ckey=""
csecret=""
atoken="-"
asecret=""
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
api = tweepy.API(auth)
class listener(StreamListener):
def __init__(self, api=None):
self.api = api or API()
self.n = 0
self.m = 50
def on_data(self, data):
all_data = json.loads(data)
self.n = self.n+1
if self.n <= self.m:
tweet = all_data["text"]
username = all_data["user"]["screen_name"]
label = "1"
ttweets = TrainingTweets(label_id=label, tweet_username=username, tweet=tweet)
db.session.add(ttweets)
db.session.commit()
print((username, tweet))
return True
else:
print("Successfully stored ", self.m, " tweets into database")
return False
def on_error(self, status):
print(status)
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["health"], languages=["en"], follow="")
누구든지 나를 Tweepy는 데이터베이스에 모든 중복 트윗을 대신 한 트윗을 저장하게하는 데 도움이 될 수 있습니다?