Python возврат потоковых данных из твипа - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю модуль source_collect.py, который будет содержать модули, которые я буду использовать для сбора данных из различных источников и возврата необработанных данных, которые я могу использовать для анализа второго модуля.

Я могу распечатать или записать потоковые данные в файл json, но я не могу вернуть данные через функцию возврата. У кого-нибудь есть сомные указатели на то, что я пропускаю?

import tweepy

import twitter_credentials as cred

class my_streaming_object(tweepy.streaming.StreamListener):

    def on_data(self,raw_data):
        try:
            print('......streaming...')
            self.raw_data = raw_data
            return self.raw_data

        except BaseException as e:
            print(f'Code broke :{str(k)}')
            return False

    def on_error(self,status_code):
        if status_code ==420:
            print(f'Twitter limit stop{self.status.code}')
            return False


class twitter_data:

    def stream_tweets_keywords(self, keywords):
        # get twitter access
        authen = tweepy.auth.OAuthHandler(cred.CONSUMER_KEY,cred.CONSUMER_SECRET)
        authen.set_access_token(cred.ACCESS_TOKEN,cred.ACCESS_TOKEN_SECRET)
        test = authen.get_username()
        print(f'You are Authenticated as Twitter user {test}')
        print('....Initialising twitter stream......')
        # stream tweets
        try:
            streamer = my_streaming_object()
            my_stream = tweepy.streaming.Stream(authen, listener=streamer)
            my_stream.filter(track=keywords, is_async=True)
            return
        except BaseException as b:
            print(b)
            return False




if __name__=='__main__':

    run = twitter_data()
    run.stream_tweets_keywords(['Hydrogen','Nikola'])

1 Ответ

0 голосов
/ 22 февраля 2020

Решил, поменяв логи c. Сделал функцию в модуле DB_store, которую я использовал в этом модуле для обработки потокового ответа на db.

Изменение в logi c было вместо того, чтобы этот модуль возвращался, а затем собирал его на следующем входе функции. Я вложил следующую функцию в эту.

Я не знаю, если это хорошая практика, поэтому, если у какого-либо органа есть хорошая рекомендация OOP для всей логики c, это будет оценено.

...