280 likes | 360 Views
Facebook Día 36, 14 abril 2014. Tecnología de lenguaje humano en español SPAN 4350 Harry Howard Tulane University. Repaso. Prueba siguiente. Sacar los comentarios de un video de YouTube que te guste y …. Facebook. Para empezar. Instalar 'facepy': $ pip install facepy
E N D
FacebookDía 36, 14 abril 2014 Tecnología de lenguaje humano en español SPAN 4350 Harry Howard Tulane University
Repaso SPAN 4350 - Harry Howard - Tulane University
Prueba siguiente • Sacar los comentarios de un video de YouTube que te guste y …. SPAN 4350 - Harry Howard - Tulane University
Facebook SPAN 4350 - Harry Howard - Tulane University
Para empezar • Instalar 'facepy': • $ pip install facepy • Abre una sesión de Facebook SPAN 4350 - Harry Howard - Tulane University
Access Token • Visita este enlace: • https://developers.facebook.com/tools/explorer • Pincha "Get Access Token" … SPAN 4350 - Harry Howard - Tulane University
User Data Permissions: √ user_status SPAN 4350 - Harry Howard - Tulane University
Friends Data Permissions: √ friend_status SPAN 4350 - Harry Howard - Tulane University
Pincha "Get Access Token" SPAN 4350 - Harry Howard - Tulane University
Facebook te pide permisoPincha "ok" SPAN 4350 - Harry Howard - Tulane University
Copia el accesstoken al script SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta • Query language = Lenguaje de consulta • Un lenguaje de consulta es un lenguaje informático usado para hacer consultas en bases de datos y sistemas de información. • La información de Facebook se almacene en una base de datos. SPAN 4350 - Harry Howard - Tulane University
Facebook QueryLanguage (FQL) • Lenguaje de consulta de Facebook • Las consultas tienen la forma: • SELECT [fields] FROM [table] WHERE [conditions] • Vamos a intentar una consulta, en la página siguiente. SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta de Facebook • Pincha 'FQL Query'. • En la caja que hay por debajo, entra "SELECT name FROM user WHERE uid = me()" y pincha "Submit": SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta de Facebook • Repetición del formato: • SELECT [fields] FROM [table] WHERE [conditions] • SELECT name FROM user WHERE uid = me() • El variable fundamental es 'table', o sea 'user' • Abre un tab nuevo y visita: • https://developers.facebook.com/docs/reference/fql/ SPAN 4350 - Harry Howard - Tulane University
Pincha 'user' Vuelve a la página anterior … SPAN 4350 - Harry Howard - Tulane University
Pincha 'status' SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta de Facebook • Vuelve al tab "Explorer – Facebook Developers" • Entra la consulta "SELECT message FROM status WHERE uid = me()" • y pincha "Submit". SPAN 4350 - Harry Howard - Tulane University
Resultados SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta de Facebook • Ahora entra la consulta "SELECT message FROM status WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" • y pincha "Submit". SPAN 4350 - Harry Howard - Tulane University
Resultados SPAN 4350 - Harry Howard - Tulane University
Lenguaje de consulta de Facebook • Ahora entra la consulta "SELECT message FROM status WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" • y pincha "Submit". SPAN 4350 - Harry Howard - Tulane University
ResultadosParece que no hay estados míos SPAN 4350 - Harry Howard - Tulane University
facebookAnon.py # -*- coding: utf-8 -*- fromfacepyimportGraphAPI # getaccesstokenfromhttps://developers.facebook.com/tools/explorer? # user data permissions: checkuser_status # friends data permissions: checkfriends_status access_token = tu_info_aqui' graph = GraphAPI(access_token) my_status_data = graph.fql('SELECT message FROM status WHERE uid = me()') my_status_dict = my_status_data['data'] my_statuses = [] for s in my_status_dict: my_statuses.append(s['message']) print 'Hay '+str(len(my_statuses))+' mensajes.' friends_status_data = graph.fql('SELECT message FROM status WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())') friends_status_dict = friends_status_data['data'] friends_statuses = [] for s in friends_status_dict: friends_statuses.append(s['message']) print 'Hay '+str(len(friends_statuses))+' mensajes.' our_status_data = graph.fql('SELECT message FROM status WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())') our_status_dict = our_status_data['data'] our_statuses = [] for s in our_status_dict: our_statuses.append(s['message']) print 'Hay '+str(len(our_statuses))+' mensajes.' SPAN 4350 - Harry Howard - Tulane University
El problema • Quiero recoger muchos estados en español, … • pero no quiero inundar mi 'perfil' con ellos. • Soluciones • Crear una perfil para ello. • Facebook no me lo permitió. • Crear la página "HLT Spanish data agent". • No puede 'recoger' información, sino publicarla. • Crear el 'interés' "Spanish data". • Parece que es una carácterística nueva que no está documentada en el API/IPA. SPAN 4350 - Harry Howard - Tulane University
Tarea • Recoge algún texto en español en tu perfil y trata de sacarlo con el script de facebook. SPAN 4350 - Harry Howard - Tulane University
Notas de pruebas SPAN 4350 - Harry Howard - Tulane University
¿Redes? El próximo día SPAN 4350 - Harry Howard - Tulane University