def get(self): query = self.get_argument('q') client = tornado.httpclient.HTTPClient() url = "https://api.twitter.com/1.1/search/tweets.json?" + \ parse.urlencode({"q": query, "result_type": "recent", "count": 100}) response = client.fetch(url, headers=oauth(url)) response_body = response.body.decode() body = json.loads(response_body) result_count = len(body['statuses']) now = datetime.datetime.utcnow() raw_oldest_tweet_at = body['statuses'][-1]['created_at'] oldest_tweet_at = datetime.datetime.strptime(raw_oldest_tweet_at, "%a %b %d %H:%M:%S +0000 %Y") seconds_diff = time.mktime(now.timetuple()) - \ time.mktime(oldest_tweet_at.timetuple()) tweets_per_second = float(result_count) / seconds_diff self.write(""" <div style="text-align: center"> <div style="font-size: 72px">%s</div> <div style="font-size: 144px">%.02f</div> <div style="font-size: 24px">tweets per second</div> </div>""" % (query, tweets_per_second))
def get(self): query = self.get_argument('q') client = tornado.httpclient.AsyncHTTPClient() url = "https://api.twitter.com/1.1/search/tweets.json?" + \ parse.urlencode({"q": query, "result_type": "recent", "count": 100}) client.fetch( url, callback=self.on_response, headers=oauth(url))