def buscador(q, excep): twitter = Twython() query = q # tweets = twitter.searchTwitter(q = query, rpp = "100", page = "1") tweets = twitter.searchTwitter(q=query, rpp="100") lista_tweets = [] for tweet in tweets["results"]: if tweet["text"].encode("utf-8").find(excep) < 0: contenido = tweet["text"].encode("utf-8") usuario = tweet["from_user"].encode("utf-8") hora = tweet["created_at"] hora_convert = datetime.strptime(hora, "%a, %d %b %Y %H:%M:%S +0000") horaColombia = hora_convert - timedelta(minutes=300) objetoTweet = ObjTwitter(usuario=usuario, mensaje=contenido, timestamp=horaColombia) objetoTweet.avatar = tweet["profile_image_url"].encode("utf-8") lista_tweets.append(objetoTweet) return lista_tweets
def twittertag_query(self, tag): t_api = Twython() htmlentities = dict( map(lambda (key, value): ('&' + str(key) + ';', value), htmlentitydefs.entitydefs.items()) ) try: result = t_api.searchTwitter(q=tag, rpp='1')['results'][0] unitext = result['text'] author = result['from_user'] msg = author + ': ' + saxutils.unescape( unitext.encode("utf-8"), htmlentities) msg = msg.replace('\n', ' ') self.connection.notice(channel, msg) except (TwythonError, IndexError, urllib2.HTTPError, urllib2.URLError, UnicodeDecodeError) as e: print 'exception while searching for tag: ' + tag print type(e) print e
def twitteruser_query(self, user, search): t_api = Twython() htmlentities = dict( map(lambda (key, value): ('&' + str(key) + ';', value), htmlentitydefs.entitydefs.items()) ) try: unitext = '' if search != None: query = search + ' from:' + user tweetlist = t_api.searchTwitter(q=query, rpp='1') if len(tweetlist['results']) > 0: unitext = tweetlist['results'][0]['text'] # else: # tweetlist = t_api.getUserTimeline(screen_name=user, # count='200', # page='1') # for tweet in tweetlist: # if tweet['text'].lower().find( # search.lower()) > -1: # unitext = tweet['text'] # break else: tweetlist = t_api.getUserTimeline(screen_name=user, count='1') unitext = tweetlist[0]['text'] if len(unitext) > 0: msg = user + ': ' msg = msg + saxutils.unescape( unitext.encode("utf-8"), htmlentities) msg = msg.replace('\n', ' ') self.connection.notice(channel, msg) except (TwythonError, IndexError, KeyError, urllib2.HTTPError, urllib2.URLError) as e: print 'exception while retrieving user: ' + user print type(e) print e