Я использую потоковую трансляцию для получения твитов, содержащих определенный хэштег. Тем не менее, я не могу получить содержимое твита "full_text".
В функции on_data () попытайтесь получить полный_текст из json.
class Tweet():
def __init__(self, text, user, followers, date, location):
self.text = text
self.user = user
self.followers = followers
self.date = date
self.location = location
def insertTweet(self):
c.execute("INSERT INTO tweets (tweetText, user, followers, date, location) VALUES (?, ?, ?, ?, ?)",
(self.text, self.user, self.followers, self.date, self.location))
conn.commit()
class TweetStreamListener(tweepy.StreamListener):
def on_data(self, data):
print(data)
try:
tweet = json.loads(data)
if not tweet['retweeted'] and 'RT @' not in tweet['text']:
user_profile = api.get_user(tweet['user']['screen_name'])
tweet_data = Tweet(
str(tweet['text']),
# HERE IS MY PROBLEM :( I THINK..
tweet['user']['screen_name'],
user_profile.followers_count,
tweet['created_at'],
tweet['user']['location'])
# Insert that data into the DB
tweet_data.insertTweet()
print("success")
except Exception as e:
print(e)
return True
# Driver
if __name__ == '__main__':
# Run the stream!
l = TweetStreamListener()
stream = tweepy.Stream(auth, l)
stream.filter(track=['twitter'])
Я ожидаю, что вывод текстового поля в моей базе данных будет полным_текстом твита.
На данный момент база данных сохраняет только 140 символов