Beispiel #1
0
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": [""]}
    #         }]
    #     });
    #
Beispiel #2
0
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: