Saltar al contenido

Búsqueda de tweets con Python – PythonForBeginners.com

Visión general

La API de Twitter está basada en REST y devolverá resultados como XML o JSON, así como formatos de alimentación RSS y ATOM. Cualquier cliente puede acceder a los cronogramas públicos, pero todos los demás métodos de Twitter requieren autenticación.

Acerca de este guión

El programa está bien documentado y debería ser sencillo. Abra un editor de texto, copie y pegue el código a continuación.

Guarde el archivo como: “tweet_search.py” y salga del editor.

Empezando

Echemos un vistazo al programa a continuación que llamamos tweet_search.py

#!/usr/bin/python

import json
import sys
import urllib2
import os

usage = """
Usage: ./tweet_search.py 'keyword'
e.g ./tweet_search.py pythonforbeginners

Use "+" to replace whitespace"
e.g ./tweet_search.py "python+for+beginners"
"""

# Check that the user puts in an argument, else print the usage variable, then quit.
if len(sys.argv)!=2:
    print (usage)
    sys.exit(0)

# The screen name in Twitter, is the screen name of the user for whom to return results for. 

# Set the screen name to the second argument
screen = sys.argv[1]

# Open the twitter search URL the result will be shown in json format
url = urllib2.urlopen("http://search.twitter.com/search.json?q="+screen)

#convert the data and load it into json
data = json.load(url)

#to print out how many tweets there are
print len(data), "tweets"

# Start parse the tweets from the result

# Get only text
for tweet in data["results"]:
    print tweet["text"]

# Get the status and print out the contents
for status in data['results']:
    print "(%s) %s" % (status["created_at"], status["text"])

¿Como funciona?

Analicemos el guión para ver qué hace.

El script comienza con la importación de los módulos que vamos a necesitar.

Línea 3-6

import json
import sys
import urllib2
import os

Creamos una variable de uso para explicar cómo usar el script.

Line 8-14
usage = """
Usage: ./tweet_search.py 'keyword'
e.g ./tweet_search.py pythonforbeginners
Use "+" to replace whitespace"
e.g ./tweet_search.py "python+for+beginners"
"""

En la línea 16 verificamos que el usuario ingrese un argumento, de lo contrario imprimimos la variable de uso y luego salimos.



if len(sys.argv)!=2:
    print (usage)
    sys.exit(0)

La línea 21-24 establece el nombre de pantalla de Twitter en el segundo argumento.



screen = sys.argv[1]

La línea 27 abre la URL de búsqueda de Twitter y el resultado se mostrará en formato json.



url = urllib2.urlopen("http://search.twitter.com/search.json?q="+screen)

La línea 30 convierte los datos y los carga en json



data = json.load(url)

En la línea 33 imprimimos el número de tweets



print len(data), "tweets"

Desde la línea 38 comenzamos a analizar los tweets del resultado.

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

for tweet in data["results"]:
    print tweet["text"]

Lo último que hacemos en este script es obtener el estado e imprimir el contenido (línea 42)



for status in data['results']:
    print "(%s) %s" % (status["created_at"], status["text"])

Revise el guión línea por línea para ver qué hace. Asegúrese de mirarlo e intente comprenderlo.

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.