def filter_track(): track = ["python"] stream_auth = BasicAuthHandler('<USERNAME>', '<PASSWORD>') api = API() stream = Stream(stream_auth, MyStreamListener(api)) print 'start filter track ', ','.join(track) stream.filter(track=track)
def build_stream(self): if self.stream != None: self.stop_query() time.sleep(.01) # make sure old stream has time to disconnect self.stream = Stream(BasicAuthHandler(self.username, self.password), self, # this object implements StreamListener timeout = 600, # reconnect if no messages in 600s retry_count = 20, # try reconnecting 20 times retry_time = 10.0, # wait 10s if no HTTP 200 snooze_time = 1.0) # wait 1s if timeout in 600s
def __init__(self, username, password, listener, timeout=5.0, retry_count = None, retry_time = 10.0, snooze_time = 5.0, buffer_size=1500): self.auth = BasicAuthHandler(username, password) self.running = False self.timeout = timeout self.retry_count = retry_count self.retry_time = retry_time self.snooze_time = snooze_time self.buffer_size = buffer_size self.listener = listener self.api = API() self.headers = {} self.body = None
def _stream_init(self): api1 = API() headers = {} headers["Accept-Encoding"] = "deflate, gzip" stream_auth = BasicAuthHandler(social_keys.TWITTER_HTTP_AUTH_U, social_keys.TWITTER_HTTP_AUTH_P) l = TestStreamListener(api=api1) self._stream = Stream(auth=stream_auth, listener=l, secure=True, headers=headers)
def basic_authenticate(self, file_name): """ Creates an Authhandler using Basic method """ try: with open(file_name) as f: cred = f.readline().split(',') except IOError: print "Error : Authentication file not found" if len(cred) != 2: print "Error : Expecting to retrieve 2 values" else: #username, password self.auth = BasicAuthHandler(cred[0], cred[1])
def main(): global follow_list infoModule.info.site['dblink'] = mysql_tools.db_connect() auth = BasicAuthHandler(twitterAccount, tiwtterPassword) stream = newStream(auth, StreamWatcherListener(), timeout=None) follow_list = getUserList() # Demo Mode #follow_list = getUserList(True) infoModule.info.site['dblink'].close() if len(follow_list) == 0: file_put_contents('Could not get a list of users to follow') sys.exit() stream.filter(follow=follow_list)
def train_tweets(): tokyo = LocationFence("Tokyo", 138.946381, 35.523285, 139.953232, 35.906849) hokkaido = LocationFence("Hokkaido", 139.546509, 41.393294, 145.742798, 45.729191) kyusyu = LocationFence("Kyusyu", 129.538879, 31.147006, 131.856995, 33.934245) locations = [tokyo, hokkaido, kyusyu] request_coordinates = [] for l in locations: request_coordinates += l.get_coordinates() stream = Stream(BasicAuthHandler(tw_username, tw_password), Trainer(locations), secure=True) stream.filter(locations=request_coordinates)
conn = connect(opts.dsn) cursor = conn.cursor() # Don't know how this happens if status.geo == None: print 'No geo information' return if status.geo['type'] != 'Point': print 'Geo is of type ' + status.geo['type'] return # Insert the status into the DB. wkt = 'SRID=4326;POINT(%s %s)' % (status.geo['coordinates'][1], status.geo['coordinates'][0]) cursor.execute( 'INSERT INTO ' + opts.table + ' (screenname, tweet, the_geom) VALUES ' + '(%s, %s, ST_GeomFromEWKT(%s))', (status.user.screen_name, status.text, wkt)) conn.commit() listener = PGSQLListener() auth = BasicAuthHandler(args[0], args[1]) s = Stream(auth, listener, secure=True) #s.filter(track="foothill college") s.filter(locations=[float(i) for i in opts.geo.split(',')])