mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 18:07:26 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			926 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			926 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# encoding: utf8
 | 
						|
from __future__ import unicode_literals, print_function
 | 
						|
import plac
 | 
						|
import codecs
 | 
						|
import pathlib
 | 
						|
import random
 | 
						|
 | 
						|
import twython
 | 
						|
import spacy.en
 | 
						|
 | 
						|
import _handler
 | 
						|
 | 
						|
 | 
						|
class Connection(twython.TwythonStreamer):
 | 
						|
    def __init__(self, keys_dir, nlp, query):
 | 
						|
        keys_dir = pathlib.Path(keys_dir)
 | 
						|
        read = lambda fn: (keys_dir / (fn + '.txt')).open().read().strip()
 | 
						|
        api_key = map(read, ['key', 'secret', 'token', 'token_secret'])
 | 
						|
        twython.TwythonStreamer.__init__(self, *api_key)
 | 
						|
        self.nlp = nlp
 | 
						|
        self.query = query
 | 
						|
 | 
						|
    def on_success(self, data):
 | 
						|
        _handler.handle_tweet(self.nlp, data, self.query)
 | 
						|
        if random.random() >= 0.1:
 | 
						|
            reload(_handler)
 | 
						|
 | 
						|
 | 
						|
def main(keys_dir, term):
 | 
						|
    nlp = spacy.en.English()
 | 
						|
    twitter = Connection(keys_dir, nlp, term)
 | 
						|
    twitter.statuses.filter(track=term, language='en')
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    plac.call(main)
 |