damian0604 / bdaca

Course Materials Big Data and Automated Content Analysis
69 stars 22 forks source link

add tweepy-example (streaming) #30

Closed damian0604 closed 6 years ago

damian0604 commented 7 years ago

github-link

eerst: sudo pip3 install tweepy

en dan de minimale code: (maar je wilt wsl niet printen maar naar een bestand schrijven)

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

consumer_key = "..."
consumer_secret = "..."
access_token = "..."
access_token_secret = "..."

class StdOutListener(StreamListener):
    """ A listener handles tweets that are received from the stream.
    This is a basic listener that just prints received tweets to stdout.
    """
    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)

l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

stream = Stream(auth, l)
stream.filter(track=['basketball'])
damian0604 commented 7 years ago

Code om het op te slaan:

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

consumer_key = "..."
consumer_secret = "..."
access_token = "..."
access_token_secret = "..."

fo = open('mytweets',mode='w')

class StdOutListener(StreamListener):
    """ A listener handles tweets that are received from the stream.
    This is a basic listener that just prints received tweets to stdout.
    """

    def on_data(self, data):
        fo.writelines(data)
        return True

    def on_error(self, status):
        print(status)

l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

stream = Stream(auth, l)
stream.filter(track=['basketball'])
damian0604 commented 7 years ago

Dit bestand weer openen:


import json

tweets = []
lines = open('mytweets').readlines()
for line in lines[:-1]:
    tweets.append(json.loads(line))