from mole.app.utils import LoggerFactory from mole.app.analyzer.commons.filterService import FilterService from mole.app.analyzer.commons.projectService import ProjectService import pymongo as p from datetime import datetime logger = LoggerFactory.create_logger() client = p.MongoClient() db = client['mole'] if __name__ == '__main__': # logger.info("start") # regex = '|'.join(["lanata", "macri", "90"]) # #tweets = db.tweet.find({"text": {"$regex": regex, "$options": "i"} , 'entities.hashtags': {"$in": ["TVRKalabaza"]} })#, # #'entities.urls': {"$in": [""]} # #}) # # tweets = db.tweet.find({ # "$or": [{ # "text": {"$regex": regex, "$options": "i"} # }, { # "entities.hashtags": {"$in": ["TVRKalabaza"]} # }, { # "entities.urls": {"$in": [""]} # }] # }); #
import tweepy import logging # from mole.app.exception.twitterExceptionHandler import TwitterExceptionHandler from mole.app.domain.authenticator import Authenticator from mole.app.domain.stream import Stream from mole.app.utils import LoggerFactory, ErrorHandler logger = LoggerFactory.create_logger() handler = ErrorHandler() class Digger: def __init__(self, auth, stream): self.auth = auth self.digger = stream # self.exception_handlder = TwitterExceptionHandler() def start_streaming(self, keywords, project=None): self.digger.set_topic(keywords) self.digger.set_project(project) stream = tweepy.streaming.Stream(self.auth, self.digger, gzip=True) logger.info("Start streaming from key: %s" % keywords) try: # stream.filter(track=keywords,locations=[-73.533,-58.583,-53.367,-21.783 ]) stream.filter(track=keywords) except tweepy.TweepError as e: