Mostrando las entradas con la etiqueta PYTHON. Mostrar todas las entradas
Mostrando las entradas con la etiqueta PYTHON. Mostrar todas las entradas

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)

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

JSON

Qué es JSON y cómo se utiliza

Es un formato simple de intercambio de datos. Se ha popularizado por su ligereza y facilidad de uso.

Los objetos inician { que continen propiedades con valores (cadenas de caracteres, números, listas u otros objeots)
Almacenar usuario con los paramentros: nombre, status y números de usuarios.
propieadad: usuarios

Ejemplo:

{"usuarios":[{"nombre":"Juan", "status":"online"},{"nombre":"Maria", "status":"offline"}],"cuentaUsuarios":2}

 Crear un archivo con nombre usuarios.json

o

{
"usuarios":[
{"nombre":"Juan", "status":"online"},
{"nombre":"Maria", "status":"offline"},
],
"cuentaUsuarios":2}

Uso en PYTHON

import json

fich = open("usuarios.json")
line = fich.readline()
print (line)
fich.close()
data = json.loads(line)
print(data)
usuarios = data["usuarios"]
print(usuarios)
print(data["usuarios"])
print(data["usuarios"][1]["nombre"])
print(data["usuarios"][1]["status"])

for usuario in usuarios:
    print(usuario["nombre"]+" , "+usuario["status"])


viernes, 10 de febrero de 2017

PYTHON GEOLOCALIZACION

https://developers.google.com/maps/documentation/javascript/examples/map-simple?hl=es-419


Obtener la clave API de Google

Claves de API

Interfaz de Programación de Apliaciones

Serie de instruciones que le indican al sistema como satisfacer la petición del usuario y vuelve con una respuesta. Diferentes disposivos o aplicaciones pueden comunicarse entre ellas.

SELECT

LIST

UPDATE

Cada servicio web de Google Maps requiere una clave de API o un id. de cliente. Las claves de API están disponibles de forma gratuita con una cuenta de Google en Google Developers Console. Para generar una clave de servidor para tu proyecto:
  1. Visita Google Developers Console e inicia sesión con una cuenta de Google.
  2. Selecciona un proyecto existente o crea un proyecto nuevo.
  3. Haz clic en Enable an API.
  4. Busca la API y configura su estado en “On”. Las bibliotecas de cliente para Google Maps Services acceden a las siguientes API:
    • Google Maps Directions API
    • Google Maps Distance Matrix API
    • Google Maps Elevation API
    • Google Maps Geocoding API (Convert addresses into geographic coordinates (geocoding), which you can use to place markers or position the map. This API also allows you to convert geographic coordinates into an address (reverse geocoding).
    •  Google Maps Roads API
    • Google Maps Time Zone API
  5. Una vez que habilites las API, haz clic en Credentials en el panel de navegación izquierdo de la Consola para desarrolladores.
  6. En "Public API access", haz clic en Create new Key.
  7. Selecciona Server Key.
  8. Si quieres limitar las solicitudes a una dirección IP específica, hazlo ahora.
  9. Haz clic en Create.
Tu clave de API debe tener 40 caracteres y comenzar con AIza.
Importante: Debes mantener esa clave de forma secreta en tu servidor.


Instalación y código fuente (Python)

pip install -U googlemaps
 
Este ejemplo usa la Google Maps Geocoding API.
# Replace the API key below with a valid API key.
gmaps
= googlemaps.Client(key='YOUR_API_KEY')
# Geocoding and address
geocode_result
= gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
# Look up an address with reverse geocoding
reverse_geocode_result
= gmaps.reverse_geocode((40.714224, -73.961452))
# Request directions via public transit
now
= datetime.now()
directions_result
= gmaps.directions("Sydney Town Hall",
                                     
"Parramatta, NSW",
                                     mode
="transit",
                                     departure_time
=now)


Google Maps and Local Search APIs in Python


http://py-googlemaps.sourceforge.net/


gmplot

Plotting data on Google Maps, the easy way. A matplotlib-like interface to generate the HTML and javascript to render all the data you'd like on top of Google Maps. Several plotting methods make creating exploratory map views effortless. Here's a crash course:

https://github.com/vgm64/gmplot

matplotlib and basemap on Python 3.4.

https://www.youtube.com/watch?v=DfNeBoHEY-k&t=703s

Build a simple GIS web application using GeoDjango and Google Maps

http://invisibleroads.com/tutorials/geodjango-googlemaps-build.html


http://qingkaikong.blogspot.com.co/2016/02/plot-earthquake-heatmap-on-basemap-and.html
http://qingkaikong.blogspot.com.co/2016/02/query-usgs-catalog-online-and-plot.html
 

 

TUTORIAL MACHINE LEARNING

MÉTODO 1
Se requiere tener instalado:
Python (https://www.python.org/downloads/) 
//En este momento scipy solo funciona con la version 3.4, superiores no.
1. Instalar python 3.4
2 Instalar numpy   // Obligatorio para scikit
   pip install numpy
3 Descargar scipy de sourceforge/project, pero la versión para 3.4   //Obligario para scikit
4 Correr el ejecutable descargado
5. Instalar matplotlib 
   pip install matplotlib 
5 Instalar scikit
   pip install -U scikit-learn 
         o
pip install sklearn
MÉTODO 2
Instalar winpython que viene con las librerias ya instaladas, solo verifique que en las variables del sistema de windows este el directorio donde se instalo.
https://sourceforge.net/projects/winpython/

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

PROGRAMA 1

WeightTextureLabel
150gBumpyOrange
170gBumpyOrange
140gSmoothApple
130gSmoothApple
Tenemos dos maneras de determinar la fruta: el peso y la textura. Estas son ambas características y una buena característica le ayudará a discriminar la fruta. La última columna en cada fila es una etiqueta, que es lo que identifica la fruta. Para nosotros, sólo hay dos posibilidades: Apple o Orange. Cada fila de la tabla es un ejemplo y toda la tabla es la información de entrenamiento. Cuantos más datos pongamos en los datos de entrenamiento, mejor será el clasificador.

Permite convertir esa tabla en algún código Python. Vamos a crear dos variables: características y etiquetas. Las características serán la información en las dos primeras columnas (las características) y las etiquetas contendrán los datos en la última columna. Otra forma de pensar en esto es que las características son la entrada al clasificador y las etiquetas son nuestra salida deseada.

from sklearn import tree
features = [[140, 1], [130, 1], [150, 0], [170, 0]]
labels = [0, 0, 1, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
print (clf.predict([[160, 0]]))

http://www.techtrek.io/machine-learning-part-1/


PROGRAMA 2
# importando pandas, numpy y matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# importando los datasets de sklearn
from sklearn import datasets
boston = datasets.load_boston()
boston_df = pd.DataFrame(boston.data, columns=boston.feature_names)
boston_df['TARGET'] = boston.target
boston_df.head()
print (boston_df.head())


REFERNCIAS
http://relopezbriega.github.io/blog/2015/10/10/machine-learning-con-python/

https://www.youtube.com/watch?v=OGxgnH8y2NM&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v




martes, 7 de febrero de 2017

TUTORIAL: PYTHON

Código de Ejemplo:

# STRING
# Formato
course= "Curso"
my_string = "Código Facilito"
result = "{} de {}".format(course, my_string)
result = result.lower()
result2 = "{a} de {b}".format(b=course, a=my_string)
result2 = result2.upper()
result3 = result2.title()
print(result)
print(result2)
print(result3)
# Busqueda
pos=result.find("c")
count = result.count("o")
result5=result.replace("c","z")
result6=result.split(" ")
print(result5)
print(pos)
print(result[0])
print("Contar: ",count)
print(result6)

#LISTAS
my_lista=[1, 12.6, "primer","segundo",True,False]
my_lista.append(2)
my_lista.insert(1,3)
my_lista.remove(12.6)
last_value = my_lista.pop()
print("Lista: ",my_lista)
print(last_value)

#listas ordenar
lista1=[2,43,6,12,8,20]
print(lista1)
lista1.sort(reverse= True)
print(lista1)
# lista adicionar
lista2=[100,200]
#lista1.extend(lista2)
lista1.append(lista2)
print(lista1)

#TUPLAS
my_tuple=(1,"string",True)
print ("Primera tupla: ",my_tuple)
print ("Primera elemento de la tupla: ",my_tuple[0])
print (my_tuple[::-1])  # Inverso

#DICCIONARIOS
diccionario = {"a":True, 5:"un string", (1,2):False}
diccionario["c"] = "nuevo string"
diccionario["a"] = 1000
del diccionario[5]
print(diccionario)
#valor=diccionario["a"]
valor=diccionario.get("z",False)
print(valor)
llaves = diccionario.keys()
llaves2 = list(diccionario.keys())
llaves3 = tuple(diccionario.keys())
valores= diccionario.values()
diccionario2={"w":80,"z":100}
diccionario.update(diccionario2)
print(llaves)
print(llaves2)
print(llaves3)
print(valores)
print(diccionario)
"""

# FOR
lista=[1,2,3,4,5,6,7,8,9,10]
for valor in lista:
    print(valor)
nuevo_rango = range(0,10)
rango2=range(10) # 0 a 19
rango2=range(0,20,2) # inicia a fin y salto 2
for valor in nuevo_rango:
    print(valor)
for indice,valor in enumerate(lista):
    pass #print(valor,"tiene el indice: ",indice)
for valor in range(0,len(lista)):
    pass #print(valor)
for valor in "Curso de código facilito":
    print(valor)
diccionario5 = {"a":10,"b":20, "c":500}
for llave,valor in diccionario5.items():
    print("la llave",llave,"tiene el valor de",valor)

# ARCHIVOS
 
ef crearArchivo():
    archivo=open("datos.txt","w")
    archivo.close()

def escribirArchivo():
    archivo=open("datos.txt","a")
    archivo.write("Jose Lujan")
    archivo.write("72589687\n")
    archivo.close()

def escribirArchivo2():
    archivo=open("datos.txt","a")
    archivo.writelines("Jose Lujan","72589687\n")
    archivo.close()

def leerArchivo():
    archivo=open("datos.txt","r")
    print (archivo)
    print ("Name of the file: ", archivo.name)
    linea=archivo.readline()
    while linea!="":
        print (linea)
        linea=archivo.readline()

def leerArchivo2():
    archivo=open("datos.txt","r")
    while True:
        linea=archivo.readline()
        if not linea:break
        print (linea)


#crearArchivo()
#escribirArchivo()
leerArchivo()


#escribirArchivo2()