예제 #1
0
    def post(self):
        query_string = self.request.body_arguments.get('query')
        query = TwitterSearchOrder()
        query.set_keywords(query_string)
        query.set_language('en')
        query.set_include_entities(False)
        results = TwitterClient.search_tweets(query)

        tweets = [tweet['text'] for tweet in results['content']['statuses']]
        tweet_results = indicoio.batch_text_tags(tweets)
        n_tweets = float(len(tweet_results))
        
        scores = defaultdict(float)
        for tweet in tweet_results:
            for category, score in tweet.items():
                scores[category] += score / n_tweets

        category = max(scores, key=lambda x: scores[x])

        data = {
            'scores': scores,
            'category': category
        }
        
        self.write(json.dumps(data))
예제 #2
0
    def post(self):
        query_string = self.request.body_arguments.get('query')
        query = TwitterSearchOrder()
        query.set_keywords(query_string)
        query.set_language('en')
        query.set_include_entities(False)
        results = TwitterClient.search_tweets(query)

        tweets = [tweet['text'] for tweet in results['content']['statuses']]
        tweet_results = indicoio.batch_text_tags(tweets)
        n_tweets = float(len(tweet_results))

        scores = defaultdict(float)
        for tweet in tweet_results:
            for category, score in tweet.items():
                scores[category] += score / n_tweets

        category = max(scores, key=lambda x: scores[x])

        data = {'scores': scores, 'category': category}

        self.write(json.dumps(data))
예제 #3
0
    def post(self):
        query_string = self.request.body_arguments.get('query')
        query = TwitterSearchOrder()
        query.set_keywords(query_string)
        query.set_language('en')
        query.set_include_entities(False)
        results = TwitterClient.search_tweets(query)

        tweets = [tweet['text'] for tweet in results['content']['statuses']]
        sentiment = indicoio.batch_sentiment(tweets)
        pairs = sorted(zip(sentiment, tweets))
        n_tweets = float(len(pairs))

        top_n = 5
        most_negative = pairs[:top_n]
        most_positive = list(reversed(pairs[-top_n:]))

        data = {
            'most_positive': most_positive,
            'most_negative': most_negative,
            'average': sum(sentiment)/n_tweets
        }
        
        self.write(json.dumps(data))
예제 #4
0
    def post(self):
        query_string = self.request.body_arguments.get('query')
        query = TwitterSearchOrder()
        query.set_keywords(query_string)
        query.set_language('en')
        query.set_include_entities(False)
        results = TwitterClient.search_tweets(query)

        tweets = [tweet['text'] for tweet in results['content']['statuses']]
        sentiment = indicoio.batch_sentiment(tweets)
        pairs = sorted(zip(sentiment, tweets))
        n_tweets = float(len(pairs))

        top_n = 5
        most_negative = pairs[:top_n]
        most_positive = list(reversed(pairs[-top_n:]))

        data = {
            'most_positive': most_positive,
            'most_negative': most_negative,
            'average': sum(sentiment) / n_tweets
        }

        self.write(json.dumps(data))
예제 #5
0
from collections import defaultdict

from TwitterSearch import TwitterSearchOrder
import indicoio
from pprint import pprint

from twitter_demo.twitter import TwitterClient
import twitter_demo.settings as settings

indicoio.config.api_key = "2e559e40a6ebea9dddb39e753363f6e1"
query_string = sys.argv[1:]
query = TwitterSearchOrder()
query.set_keywords(query_string)
query.set_language('en')
query.set_include_entities(False)
results = TwitterClient.search_tweets(query)

#print results['content']['statuses'][0].keys()

#tweets = [tweet['text'] for tweet in results['content']['statuses']]
tweets = []

for tweet in results['content']['statuses']:
    data = {'tweet_id': tweet['id_str'], 'tweet_text': tweet['text']}
    req = urllib2.Request('http://45.33.90.42:5000/insert_data')
    req.add_header('Content-Type', 'application/json')
    response = urllib2.urlopen(req, json.dumps(data))
    tweets.append(data)

sentiment = indicoio.batch_sentiment(tweets)
pairs = sorted(zip(sentiment, tweets))