lunes, 28 de febrero de 2022

Crear Gráfico de Burbujas de Excel

 Vamos a crear un gráfico de Burbujas en Microsoft Excel.

Para ello, debemos tener una tabla con los datos que queremos representar.


A continuación pulsando dentro de la tabla, nos vamos al menú de insertar y pinchamos en la zona de gráficos y sobre los gráficos de dispersión, y en uno de ellos nos sale para representar los gráficos de burbujas en 3D.


Ahora vamos a darle formato al gráfico.

A continuación le hemos quitado el título del gráfico, pulsando en él y dando al botón de suprimir.

Con las líneas hemos hecho lo mismo.

Y también hemos quitado el eje del lado izquierdo y hemos añadido las etiquetas de los datos.

Pulsamos sobre el gráfico y posteriormente pulsamos las teclas Ctrl+1. En el bote de pintura, le hemos quitado la línea del borde.  Y le hemos dado un degradado con varios colores a nuestro gusto.

Posteriormente hemos pulsado en las etiqueta de datos para ponerla primero a la derecha, de color blanco y un color suave de fondo.

También hemos pulsado en las burbujas y le hemos puesto un degradado

Así nos ha quedado:









lunes, 21 de febrero de 2022

Crear Gráfico de Barra Apilada en Excel

 Vamos a realizar un gráfico de Barra Apilada con la aplicación de Microsoft Excel.

En este ejemplo tenemos una tabla con datos de varios años, distintos tipos de servicios y la cantidad.

A continuación vamos a crear una tabla dinámica, para ello pulsamos dentro de nuestra tabla a la cual le he dado el nombre de Servicios.


A continuación, teniendo pulsado dentro de la tabla nos vamos al menú Insertar, insertamos una Tabla Dinámica, ponemos el campo Tipo en Filas  y la Cantidad en Valores.

Teniendo pulsado en nuestra tabla dinámica, nos vamos Analizar tabla dinámica, e insertamos Segmentación de datos y elegimos el campo Año. Y nuestro segmentador lo configuramos a nuestro gustos, con nuestros colores...




Teniendo el cursor dentro de nuestra tabla dinámica, nos vamos al menú Insertar, y posteriormente Insertamos un gráfico de barras 100% apiladas. En principio moldeamos las características visuales a nuestro gusto.




A continuación nos vamos a menú Diseño del gráfico y pulsamos en seleccionar datos, posteriormente pulsamos en Cambiar fila/columna y nos quedará el gráfico de esta manera.

Para que nuestras barras ocupen todo el espacio del gráfico, pulsamos las barras del gráfico y posteriormente en el símbolo para las opciones de serie, y en el ancho de rango ponemos 0 %.

Posteriormente hemos ordenado de mayor a menor.

Ponemos a nuestro gusto el gráfico, le he cambiado los colores y he puesto la barra más delgada, quedándonos así:


Posteriormente este gráfico lo podemos poner en cualquier cuadro de mando, y con un segmentador que se conecté a él.

miércoles, 16 de febrero de 2022

Realizar Web Scraping de una página web

 Vamos a realizar un programa en lenguaje Python para realizar Web Scraping de una página web en específico.

Primero lo que tenemos que realizar es instalar dos bibliotecas, para ello tenemos que ir al cmd y vamos a escribir :

pip install bueautifulsoup4

pip install lxml

pip install requests

Y ya podemos iniciar a realizar nuestro programa, lo que va hacer es obtener el titulo de los libros que posean 4 o 5 estrellas de la web con dirección https://books.toscrape.com/

import bs4
import requests

# vamos a obtener los titulos de los libros que tengan 4 o más estrellas
url_base = 'https://books.toscrape.com/catalogue/page-{}.html'

# lista de titulos con 4 o 5 estrellas
titulos_rating_alto = []

#iterar paginas
for pagina in range(1, 51):
    #crear sopa en cada pagina
    url_pagina = url_base.format(pagina)
    resultado = requests.get(url_pagina)
    sopa = bs4.BeautifulSoup(resultado.text, 'lxml')

    #seleccion datos de los libros. Lo hacemos mediante una clase que se encuentra en un article
    libros = sopa.select('.product_pod')

    #iterar en los libros
    for libro in libros:

        # chequear que tengan 4 o 5 estrellas
        if len(libro.select('.star-rating.Four')) != 0 or len(libro.select('.star-rating.Five')) != 0:

            # guardar titulo en variable
            titulo_libro = libro.select('a')[1]['title']

            #agregar libro a la lista
            titulos_rating_alto.append(titulo_libro)


# ver libros de 4 u 5 estrellas en consola
for t in titulos_rating_alto:
    print(t)

Por supuesto este programa solamente serviría para esta web, ya que cada una posee sus clases determinadas por el programador web que la haya realizado.




lunes, 7 de febrero de 2022

¿Qué es el Web Scraping?

 Actualmente, estoy aprendiendo a programar con Python, y en uno de los temas que estoy realizando, estamos estudiando como realizar un programa que nos facilite el Web Scraping, por supuesto hay que tener cuidado, ya que podemos infringir alguna norma contra la propiedad intelectual, por lo que hay que hacerlo con páginas web que podamos obtener de ella determinadas partes con autorización y que no infrinjamos los derechos del autor. Para ello también podemos practicar en páginas webs de nuestra producción.

¿Qué es el Web Scraping?

Está es una técnica que lo que hacemos es obtener datos de una web, como por ejemplo fotografias, titulos, datos y en realidad todo lo que nos muestre la página web que vayamos a realizar en nuestro software.

¿Qué nos dice Wikipedia?

Web scraping es el proceso de recopilar información de forma automática de la Web. Es un campo con desarrollos activos, compartiendo un propósito en común con la visión de la Web semántica. Utiliza soluciones prácticas basadas en tecnologías existentes que son comúnmente ad hoc. Existen distintos niveles de automatización que las existentes tecnologías de Web Scraping pueden brindar:
«Copiar y pegar» humano: algunas veces incluso las mejores técnicas de web scraping no pueden reemplazar el examen manual de un humano, y a veces esta puede ser la única vía de solución cuando el sitio que tenemos en mente pone ciertas barreras para prevenir que se creen softwares para realizar tareas automáticas en este.
Uso de expresiones regulares: una posible vía para extraer información de páginas webs pueden ser las expresiones regulares, aunque comúnmente no se recomienda utilizarlas para parsear el formato HTML.
Protocolo HTTP: páginas webs estáticas y dinámicas pueden ser obtenidas haciendo peticiones HTTP al servidor remoto utilizando sockets, etc.
Algoritmos de minería de datos: muchos sitios webs tienen grandes colecciones de páginas generadas dinámicamente a partir de una base de datos. Datos de la misma categoría aparecen usualmente en páginas similares mediante un script o una plantilla. En la minería de datos, un programa detecta estas plantillas en un contexto específico y extrae su contenido.
Parsers de HTML: Algunos lenguajes, como XQuery y HTQL pueden ser utilizados para parsear documentos, recuperar y transformar el contenido de documentos HTML.
Aplicaciones para web scraping: existen muchas aplicaciones disponibles que pueden ser utilizadas para personalizar soluciones de Web Scraping. Estas aplicaciones podrían reconocer automáticamente la estructura de cierta página o brindar una interfaz al usuario donde este pudiera seleccionar los campos que son de interés dentro del documento. De esta forma no es necesario escribir manualmente código para realizar estas tareas.
Reconocimiento de información semántica: las páginas que son analizadas podrían incluir metadatos o cierta información semántica como anotaciones o comentarios, los cuales pueden ser usados comúnmente. Si estas anotaciones están en las mismas páginas, como sucede con los microformatos,  estas podrían ser de utilidad cuando parseamos el DOM del documento. En otro caso, las anotaciones, organizadas en una capa semántica, son almacenadas y manejadas de forma separada desde otras páginas, por lo que los scrapers pueden recuperar estos esquemas y las instrucciones desde esta capa antes de analizar los documentos.

Cuestiones legales.-

El web scraping pudiera ir en contra de los términos de uso de algunos sitios webs. El cumplimiento de estos términos no está totalmente claro. Mientras que la duplicación de expresiones originales puede ser en muchos casos ilegal, en Estados Unidos la corte dictó en el caso Feist Publications v. Rural Telephone Service que la duplicación de hechos es permitida. Las cortes de Estados Unidos en ciertas ocasiones han reconocido que ciertos usos de los scrapers no deberían estar permitidos. Podría considerarse una computadora como una propiedad personal, y de esta forma el scraper estaría entrando sin autorización en esta propiedad. En el caso más conocido, eBay vs Bidder's Edge, la segunda empresa tuvo que parar de realizar peticiones automáticas al sitio de eBay. En este caso, Bidder's Edge pujaba automáticamente por ciertos productos en este sitio.

Uno de las principales pruebas de scraping involucró a American Airlines y a una empresa llamada FareChase. American Airlines ganó esta batalla, haciendo que FareChase parara de vender un software que le permitía a los usuarios comparar tarifas en línea si el sitio de American Airlines era incluido. La aerolínea dijo que las búsquedas de FareChase entraban sin autorización en los servidores cuando recopilaban la información públicamente disponible.
Aunque las decisiones actualmente tomadas no son uniformes, es difícil ignorar que un patrón está emergiendo, en el cual podemos ver que las cortes están preparándose para proteger el contenido propietario en sitios webs comerciales, previendo de esta forma que este sea utilizado sin el consentimiento de los propietarios de los sitios. Sin embargo, el grado de protección de estos contenidos aún no está establecido, y dependerá del tipo de acceso realizado por los scrapers, de la cantidad de información recopilada y del grado en el que afecten estos factores al propietario del sitio web.

Por lo que hay que tener cuidado con los objetos que obtenemos de las páginas webs que pueden tener derechos de autor, y con casi toda seguridad el poder utilizar dichos objetos sin hacerlo saber al autor y por supuesto, nos pedirán para poder utilizarlos una indemnización económica.

Y para no tener problemas, existen páginas web donde podermos realizar la técnica y poder obtener objetos de la misma, un ejemplo es la web:

https://toscrape.com/

En la próxima entrada expondré un código realizado en lenguaje Python, obtendremos objetos de dicha página web.