python: pasarle un filtro por tags a los tweets seleccionados

En el post anterior sobre python hemos visto como recoger los tweets de ese mismo día de unos usuarios en concreto, ahora nos toca filtrarlos por tag, para que solo nos coja los que nosotros queramos ya que en twitter decimos muchas paridas y no todas pueden resultar interesantes, por lo menos en cuanto a tecnología, informatica e internet ;)

Aquí el código

#!/usr/bin/python2.6
# -*- coding: utf-8 -*-
import urllib
import datetime as date
import time
import simplejson as json
import re

users = ['ZiTAL', 'g0re_k']
tags = ['#vamosHoder', '@wakka_']

def getTweets(id):
	now = date.datetime.now().strftime("%Y-%m-%d")
        url = "http://search.twitter.com/search.json?q=+from%3A"+u+"+since%3A"+now+"+until%3A"+now
	json_text = urllib.urlopen(url).read()
        json_obj = json.loads(json_text)

	tweets = []
	for result in json_obj['results']:
		tweets.append(result['text'])
	return tweets

def isInArray(text, array):
	for a in array:
		m = re.search(a, text)
		if(m):
			return True
	return None

for u in users:
	tweets = getTweets(u)

        print u + ":"
        for tweet in tweets:
		if(isInArray(tweet, tags)):
			print tweet
        print "\n"

Lo ejecutamos:

./ztwittter.py

Aquí el resultado:

ZiTAL:
@wakka_ aaah, bale bale :D
@wakka_ internetetik nabil topaten eta leiduten nabil "no hay regulación, uso privado" :S

g0re_k:
A la tercera va la vencida... #vamosHoder

Como vemos, hemos ordenado un poquito haciendo un par de funciones: getTweets para recoger los tweets y isInArray para que por expresiones regulares (re.search()) busquemos si el tag que hemos predefinido en la variable tags.

Vamos avanzando poco a poco, el siguiente paso será crear una entrada en un blog de wordpress con los tweets más interesantes de los usuarios de hispabyte ;)

This entry was posted in Gnu / Linux, Programacion, Tutoriales / Manuales and tagged , , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada.