mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-30 07:27:28 +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)
 |