jueves, 23 de febrero de 2017

HTML Gráfico de Barras



Gráfico de Barras con drilldown - Highcharts









<!DOCTYPE HTML>
<html>
     <head>
         <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
         <title>Highcharts Example</title>
         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
         <style type="text/css">
${demo.css}
         </style>
          <script type="text/javascript">
$(function (){
    // Create the chart
    // http://jsfiddle.net/msxLqbt3/
    $("#container").highcharts({
    chart: {
        type: 'column'
    },
    title: {
        text: 'Browser market shares. January, 2015 to May, 2015'
    },
    subtitle: {
        text: 'Click the columns to view versions. Source: <a href="http://netmarketshare.com">netmarketshare.com</a>.'
    },
    xAxis: {
        type: 'category'
    },
    yAxis: {
        title: {
            text: 'Total percent market share'
        }

    },
    legend: {
        enabled: false
    },
    plotOptions: {
        series: {
            borderWidth: 0,
            dataLabels: {
                enabled: true,
                format: '{point.y:.1f}%'
            }
        }
    },

    tooltip: {
        headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
        pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>'
    },

    series: [{
        name: 'Brands',
        colorByPoint: true,
        data: [{
            name: 'Microsoft Internet Explorer',
            y: 56.33,
            drilldown: 'Microsoft Internet Explorer'
        }, {
            name: 'Chrome',
            y: 24.03,
            drilldown: 'Chrome'
        }, {
            name: 'Firefox',
            y: 10.38,
            drilldown: 'Firefox'
        }, {
            name: 'Safari',
            y: 4.77,
            drilldown: 'Safari'
        }, {
            name: 'Opera',
            y: 0.91,
            drilldown: 'Opera'
        }, {
            name: 'Proprietary or Undetectable',
            y: 0.2,
            drilldown: null
        }]
    }],
    drilldown: {
        series: [{
            name: 'Microsoft Internet Explorer',
            id: 'Microsoft Internet Explorer',
            data: [
                [
                    'v11.0',
                    24.13
                ],
                [
                    'v8.0',
                    17.2
                ],
                [
                    'v9.0',
                    8.11
                ],
                [
                    'v10.0',
                    5.33
                ],
                [
                    'v6.0',
                    1.06
                ],
                [
                    'v7.0',
                    0.5
                ]
            ]
        }, {
            name: 'Chrome',
            id: 'Chrome',
            data: [
                [
                    'v40.0',
                    5
                ],
                [
                    'v41.0',
                    4.32
                ],
                [
                    'v42.0',
                    3.68
                ],
                [
                    'v39.0',
                    2.96
                ],
                [
                    'v36.0',
                    2.53
                ],
                [
                    'v43.0',
                    1.45
                ],
                [
                    'v31.0',
                    1.24
                ],
                [
                    'v35.0',
                    0.85
                ],
                [
                    'v38.0',
                    0.6
                ],
                [
                    'v32.0',
                    0.55
                ],
                [
                    'v37.0',
                    0.38
                ],
                [
                    'v33.0',
                    0.19
                ],
                [
                    'v34.0',
                    0.14
                ],
                [
                    'v30.0',
                    0.14
                ]
            ]
        }, {
            name: 'Firefox',
            id: 'Firefox',
            data: [
                [
                    'v35',
                    2.76
                ],
                [
                    'v36',
                    2.32
                ],
                [
                    'v37',
                    2.31
                ],
                [
                    'v34',
                    1.27
                ],
                [
                    'v38',
                    1.02
                ],
                [
                    'v31',
                    0.33
                ],
                [
                    'v33',
                    0.22
                ],
                [
                    'v32',
                    0.15
                ]
            ]
        }, {
            name: 'Safari',
            id: 'Safari',
            data: [
                [
                    'v8.0',
                    2.56
                ],
                [
                    'v7.1',
                    0.77
                ],
                [
                    'v5.1',
                    0.42
                ],
                [
                    'v5.0',
                    0.3
                ],
                [
                    'v6.1',
                    0.29
                ],
                [
                    'v7.0',
                    0.26
                ],
                [
                    'v6.2',
                    0.17
                ]
            ]
        }, {
            name: 'Opera',
            id: 'Opera',
            data: [
                [
                    'v12.x',
                    0.34
                ],
                [
                    'v28',
                    0.24
                ],
                [
                    'v27',
                    0.17
                ],
                [
                    'v29',
                    0.16
                ]
            ]
        }]
    }
});
       var json = {};

       json.title = title;
       json.subtitle = subtitle;
       json.xAxis = xAxis;
       json.yAxis = yAxis;
       json.tooltip = tooltip;
       json.legend = legend;
       json.series = series;

       $('#container').highcharts(json);
});
</script>
    </head>
    <body>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script> 
<script src="https://code.highcharts.com/modules/drilldown.js"></script> 
<script src="https://code.highcharts.com/modules/data.js"></script>
<div id="container" style="height: 400px; min-width: 310px"></div>
    </body>
</html>









Conexion a Mongo desde PHP



https://www.youtube.com/watch?v=9gEPiIoAHo8

https://docs.mongodb.com/
https://docs.mongodb.com/ecosystem/drivers/
Descargar el release que se tenga instalado  y copiarlo en la carpeta
C:\wamp64\bin\php\php7.0.10\ext
Adicionar a php.ini en la seccion de extensiones de windows la siguiente linea y luego reiniar el servicio
extension=php_mongodb.dll

verificar que aparezca activo en http://localhost/?phpinfo=1

viernes, 17 de febrero de 2017

webscraping

webscraping



import requests
import time

def adquirir_datos():
    pagina=requests.get("http://www.fxstreet.es/cotizaciones/divisas-tiempo-real/?id=usdollar4%3busdmxn%3busdbsd%3busdcrc%3busddop%3busdkyd%3busdbbd%3busdjmd")
    texto=pagina.text

    lugar_max=texto.find("<td id=\"high_3212273\">")
    inicio_max=lugar_max+22
    final_max=inicio_max+7

    dato_max = texto[inicio_max:final_max]
    dato_max = dato_max.replace(",",".")
    max = float(dato_max)

    lugar_act=texto.find("<td id=\"last_3212273\">")
    inicio_act=lugar_act+22
    final_act=inicio_act+7

    dato_act = texto[inicio_act:final_act]
    dato_act = dato_act.replace(",",".")
    actual = float(dato_act)

    return max,actual

max_actual,cambio_actual =    adquirir_datos()

status =True
while status:
    max_nuevo,cambio_actual=adquirir_datos()
    if max_actual>max_nuevo:
        print("Hay un nuevo máximo",max_actual)
        max_actual = max_nuevo
    else:
        print("El máximo no ha cambiado es de ",max_actual)
        print("El cambio actual es de ",cambio_actual)
    time.sleep(10)

    pass

jueves, 16 de febrero de 2017

Conexion a Mongo desde Python

Conexion a Mongo desde Python

#pip install mongo

import pymongo
from pymongo import MongoClient
client = MongoClient()
db = client.test
# Insertar
db.users.insert_one({"name":"Roberto A."})
db.users.insert_many([{"name":"Juan"},{"name":"Pedro"}])
result = db.users.insert_one(
    {"name":"Juana","addres":"Carrera 36","zipcode":"10012","building":"1536"}
)

# ver Crear y consultar
print("Insertar y consultar"+"\n")
cursor=db.users.find()
for document in cursor:
    print(document)

db.users.update_one({"name":"Pedro"},{"$set":{"name":"Cristobal"}})
# Ver Modificar
print("Actualizar"+"\n")
cursor = db.users.find()
for document in cursor:
    print(document)

# Borrar
result = db.users.delete_one({"name":"Roberto A."})
print(result.deleted_count)
# Ver Borrar
print("Borrar"+"\n")
cursor=db.users.find()
for document in cursor:
    print(document)

Mongo

Instalación de Mongo y comandos básico





# Descargar mongodb community (la última versión)
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
ver la version de windows desde el prompt
wmic os get caption
ver la arquitectura
wmic os get osarchitecture
1. https://www.mongodb.com/download-center#community
2. md c:\mongodb  # Escogerla como ruta de instalación
3. Ejecutar el instalador en custom para cambiar la ruta
4. md data
5. md data\db
6. md data\log

7. Cree el archivo dentro de la carpeta c:\mongodb
mongod.cfg
systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db

8. "C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install
9. Adicionar a las variable path la ruta C:\mongodb\bin\

******************

10. mongod  Iniciar el servicio
11. mongo Conecta otra consola a la base de datos en otra terminnal ejecutar
12. db  //ver las bases de datos en uso actual(test)
13. use test
14. show dbs
help
db.stats()

Definir una colección llamada users  //
db.users.save( {name:"sandra"} )
db.users.save( [{name:"sandra"},{name:"andrea"}] )
db.users.find()
db.users.find( {name: "andrea"} )
db.users.update({name:"sandra"},{name:"andrea"})
db.users.remove({name:"sandra"})
db.users.remove({})

""" Metodo 2
use pruebaBD  // Base de datos Crea la base de datos  db
a={nombre:"juan"}
b={edad:50}
db.personas.insert(a)   //Coleccion personas  Esquema: db/coleccion
show dbs
db.personas.find()  // objetos  documentos
show collections
"""

martes, 14 de febrero de 2017

PYTHON Speech Recognition

Speech Recognition

# https://www.havenondemand.com/account/api-keys.html Obtener apikey
# https://dev.havenondemand.com/apis/recognizespeech#try Probar directamente en la pagina
import requests
apikey = "f8d28801-7b85-4734-bd6e-96a8c2d41319"
ligaVideo = "https://cdn1.capacitateparaelempleo.org/vidhosting/7w36zIa3we0.mp4"
#
lenguaje = "es-LA"
#lenguaje = "es-ES"
ligaPeticion = "https://api.havenondemand.com/1/api/async/recognizespeech/v1?url={0}&languaje={1}&apikey={2}"
ligaStatus = "https://api.havenondemand.com/1/job/status/{0}?apikey={1}"
ligaPeticion = ligaPeticion.format(ligaVideo,lenguaje,apikey)
print(ligaPeticion)

jsonRespuesta=requests.get(ligaPeticion).json()
print(jsonRespuesta)
print((jsonRespuesta)["jobID"])

# Obtner el Id de la tarea ejecutando el scrip y guardarlo en una variable
jobId = jsonRespuesta["jobID"]
ligaStatus = ligaStatus.format(jobId,apikey)
jsonRespuesta = requests.get(ligaStatus).json()
print(jsonRespuesta)
print((jsonRespuesta)["status"])

while True:
    status=jsonRespuesta["status"]
    if (status=="finished"):
        print(jsonRespuesta["actions"][0]["result"]["document"][0]["content"])
        break
    if (status=="failed"):
        print(jsonRespuesta["actions"][0]["errors"])
        break
    jsonRespuesta=requests.get(ligaStatus).json()
 

PYTHON FACEBOOK

PYTHON FACEBOOK



"'''
Se requiere obtener
1 Token
2 Id

sudo pip uninstall facebook
sudo pip uninstall facebook-sdk
sudo pip install facebook-sdk


facebook for developers
Herramientas y ayuda
Explorador de la API Graph

https://developers.facebook.com/tools/explorer/145634995501895/
Obtener token
Enviar para conseguier ID
'''

import facebook
import requests
token = "EAACEdEose0cBALuinBsE2zpZCozUtVge0lia5138JKTg9CZCk8WxmqqZCtaVcQWfqk7VT3TBMlr7PurhpSlV6erMINLJJC2G61iCeTSUvViCR794QIi35fZBQbZBVJ9NHFS8pwi3ZB96HKf32bFfBf5ukCzkGJ10eTCh4DOD8ZBDrFeaTMmkG09"
graph = facebook.GraphAPI(token)
cantidadComentarios = 100
Pageid = "10154271672698867"
cuentaLikes= 0
ListaComents = []
bandera = False
coments = graph.get_connections(Pageid,"feed")


while True:
    try:
        for coment in coments["data"]:
            lstComent=[]
            try:
                mensaje=coment["message"]
            except:
                continue
            cuentaLikes=0
            print(coment["from"]["name"])
            print(mensaje)
            while True:
                try:
                    for like in coment["likes","data"]:
                        cuentaLikes=cuentaLikes+1
                        coment[likes]=requests.get(coment["likes"]["paging"][next]).json()
                except:
                    break
        print(cuentaLikes)
        lstComent.append(mensaje)
        lstComent.append(cuentaLikes)
        ListaComents.append(lstComent)
        cuentaComentarios=cuentaComentarios+1
        print("")
        if(cuentaComentarios>=cantidadComentarios):
            bandera=True
            break
        coments=requests.get(coments["paging"]["next"]).json()
    except:
        break









Facebook Graph API Explorer (Tutorial) 

 

https://www.youtube.com/watch?v=F6I3ZrySRYE