Post on 08-Feb-2017
gplusextractor Lv1 #SoLA 15 project
Architecture Console CSV extracted Spreadsheet model Code
Architecture
Console
**The programa request G+ Id, and the the number post to analyze.
CSV extracted
The SW create a csv with the traditional data… then we can use also postdates if the expert share media content, pictures.. whatever...
Spreadsheet model
This is the data into an spreadsheet.
Implementación La columna #test representa la posibilidad de análisis sobre un diccionario de palabras para explorar si la persona en su entorno social utiliza las misma para sus #post. import sys import csv import argparse from oauth2client import client from apiclient import sample_tools
los típicos imports para utilizar la G+ API y algunos elementos para la transición a csv de los contenidos sociales.
argparser = argparse.ArgumentParser(add_help=False) argparser.add_argument("-p", "--parameters", nargs='+', type=str, default=["android", "polymer"], help="adding parameters")
Paso por parámetros del conjunto de palabras para comparar en el cuerpo de post.
people = raw_input('G+ id to analyze?: ') postnumers = int(raw_input('number of posts: ')) service, flags = sample_tools.init( argv, 'plus', 'v1', __doc__, __file__, parents=[argparser], scope='https://www.googleapis.com/auth/plus.me')
se recibe la información de la cuenta a examinar y el número de post de análisis. También se arma el servicio de extracción.
person = service.people().get(userId=people).execute() print 'ID: %s' % person['displayName'] tech = flags.parameters print 'Parameters used: %s' % tech request = service.activities().list(userId=person['id'], collection='public', maxResults='1') myfile = open(people + '.csv', 'wb')
se obtienen los datos del usuario, se muestran algunos valores y se solicitan los post. también se abre el acceso al csv.
try: writer = csv.writer(myfile) writer.writerow(('id', 'content', 'test', 'replies', 'plusoners', 'resharers')) # Information from activities count = 0 while (count < postnumers): activities_document = request.execute() if 'items' in activities_document: for activity in activities_document['items']: id =activity['id'] content = activity['object']['content'].encode("utf-8") test = any(x in content.split() for x in tech)
Iniciamos escribiendo el esquema del csv. Luego recorremos en el entorno social recolectando la información.
replies =activity['object']['replies']['totalItems'] plusoners =activity['object']['plusoners']['totalItems'] resharers = activity['object']['resharers']['totalItems'] writer.writerow((id, content, test ,replies, plusoners, resharers)) count = count + 1 request = service.activities().list_next(request, activities_document)