Код Твиттера реагирует на твиты
- Эй!
Я работаю над анализом twitter с помощью python. У меня есть запущенный код, и все выглядит хорошо, однако, когда я добавляю твит в файл твитов, он повторяет существующий твит, как я могу это исправить?
from tweepy import Stream from tweepy import OAuthHandler from tweepy.streaming import StreamListener import json import sentmod as s #consumer key, consumer secret, access token, access secret. ckey= "PpwBFRmltifRyYA57YcYtD5Sg" csecret="BGQGAGeGHQwjoEF5OW2LSfbvoGyDm6qEDNftQxsyZwNVgylj31" atoken="953938307855069185-6gJncM43PJmIZAsuM8MVrvyzRBhBjus" asecret="SfMuQo9UKrTY9jXiBjEE1S9NoreAE8HSx3tEfiSPqzTkU" class listener(StreamListener): def on_data(self, data): all_data = json.loads(data) tweet = all_data["text"] sentiment_value, confidence = s.sentiment(tweet) tweets= open("tweets.txt","a",encoding="utf-8") tweets.write(tweet) tweets.write('\n\n\n') tweets.close() print(tweet,sentiment_value, confidence) if confidence*100 >= 60: output = open("twitter-out.txt","a") output.write(sentiment_value) output.write('\n\n\n') output.close() return True def on_error(self, status): print(status) auth = OAuthHandler(ckey, csecret) auth.set_access_token(atoken, asecret) twitterStream = Stream(auth, listener()) twitterStream.filter(track=["Siemens"],languages=['en'])
Какая-нибудь помощь, пожалуйста?
Что я уже пробовал:
Обычные петли но я не знаю как их здесь применить
Richard MacCutchan
Вам нужно предоставить более подробную информацию, где, по вашему мнению, нужна петля?
Member 13647869
Эта часть:
деф on_data(самовыдвижение, сведения):
all_data = json.loads(данные)
tweet = all_data["текст"]
sentiment_value, уверенность в = с. настроения(твит)
твиты= открыть("tweets.txt","a",кодировка="utf-8")
твиты.запись(твит)
твиты.написать('\н\н\н -)
твиты.рядом()
это получение твитов, сохранение их в txt-файле и печать их, так что цикл должен быть до этого?
Richard MacCutchan
Я думаю, что все зависит от того, что возвращается в вызове. json.loads
, и какую информацию вы получаете в объекте tweet. Вам нужно выполнить некоторую отладку, чтобы узнать, какие данные передаются в вашу функцию. Я тоже посмотрел на него. Потоковая передача с помощью документации Tweepy — tweepy 3.3.0[^], но это не дает никаких подсказок.
Member 13647869
то, что возвращается в json.loads, - это живой поток twitter ключевого слова, которое я ищу, я могу видеть результат в виде твитов, и некоторые из них повторяются, и я не хочу, чтобы это произошло
Richard MacCutchan
Если вы получаете дублирующуюся информацию, то вам нужно посмотреть на источник данных. Мы не можем догадаться, что получает ваша программа.
Member 13647869
Я получаю твиты из Twitter, используя их API
Richard MacCutchan
Тогда вам, скорее всего, нужно будет перейти на форумы разработчиков twitter для получения дополнительной информации. Я понятия не имею, как они представляют свои твиты в форме JSON.
Member 13647869
они этого не делают, но я использовал этот формат, чтобы немного видеть твиты и если они верны
Richard MacCutchan
Извините, но я понятия не имею, что это значит. Вам нужно изучить исходные данные, которые вы получаете, чтобы понять, как их обрабатывать.
Member 13647869
обыщите его поверьте мне это интересно
Richard MacCutchan
Что искать?
ZurdoDev
Я согласен с Ричардом в этом вопросе. Если вы получаете что-то из их API, что не имеет смысла, я не уверен, что вы хотите, чтобы мы это сделали.
Member 13647869
при всем моем уважении, насколько я знаю, этот сайт работает следующим образом: у меня есть проблема, я размещаю свой вопрос, кто хочет, помогает...ты не должен ничего делать, если не хочешь.
ZurdoDev
Это правда. Но опять же, я спрашиваю, Чего вы от нас ждете? Прямо сейчас, похоже, единственная надежда у вас есть, что кто-то другой имел точно такой же опыт и случайно столкнулся с этим вопросом, который даже не имеет соответствующего названия.
Member 13647869
Не хочу показаться грубым, но если бы вы занимались таким проектом, то поняли бы, о чем я говорю
ZurdoDev
Возможно. Но я все же скажу, что вы задали не очень ясный вопрос. Но, может быть, это только я. Удачи.