Member 13647869 Ответов: 0

Код Твиттера реагирует на твиты


- Эй!

Я работаю над анализом 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

Возможно. Но я все же скажу, что вы задали не очень ясный вопрос. Но, может быть, это только я. Удачи.

0 Ответов