jueves, 25 de mayo de 2023

Python: Web Scraping

 En esta nueva entrada realizaremos un "web scraping",  que esto no es otra cosa  que copiar información de un sitio web de forma automática accediendo mediante los elementos y etiquetas disponibles en el sitio web.

Araña observando a su próxima victima.

Usos:

Entre sus principales aplicativos podemos mencionar la actualización de información en tiempo real, por ejemplo el clima, la bolsa de valores, divisas, productos disponibles en una tienda, y por que no, saber si tu crush está "soltera" en facebook.

Etiqueta de situación sentimental en facebook.

"Antes que nada, y primero que todo.......", vamos a instalar las librerias necesarias, "os enseñareis como", así que vamos a la consola de Python. 

pip install requests

pip install BeautifulSoup

Primer paso: Obtener la dirección url de la que vamos copiar el contenido, para este ejercicio nos tomamos la libertada de consultar un sitio web de noticias ya que su url muestra las consultas, permitiendo modificar el contenido de la búsqueda en texto plano, solo añadiendo el signo de "+" entre palabras. 

Ejemplo: https://pagina24zacatecas.com.mx/?s=archivo+de+zacatecas

Segundo paso: Elegir el contenido o sección que deseamos consultar, en mi caso solo necesito saber que notas o publicaciones existen sobre el tema "archivo de zacatecas", por lo que al ingresar la búsqueda en la url me genera todo el contenido que contenga las palabras "archivo de zacatecas".

Resultado de la búsqueda.

Tercer paso: Clic secundario en la sección que deseamos consultar y a continuación elegimos "Inspeccionar", se visualizara una ventana como la siguiente.

Ventada de inspección.
Cuarto paso: "Ahora si viene lo chido.....", entre las etiquetas del codito HTML debemos seleccionar las que nos interesan para acceder a ellas, por ejemplo "todas las etiquetas <p>", donde "<p>"  en HTML se refiere a un párrafo. 
Código utilizado y comentado.

Resultados: Una vez ejecutado el código se puede acceder a la información para ser procesada.


Resumen: La aplicación del "web scraping" permite automatizar procesos mediante la lectura de sitios web para después ser analizada mediante algoritmos de toma de decisiones, tal fue el caso mas mencionado el de la "compra masiva de tarjetas graficas para minar bitcoins".


martes, 23 de mayo de 2023

Envío automático de mensajes del WhatsApp! (Python + pywhatkit)

    ¿Quién en alguna ocasión no ha requerido enviar mensajes de forma masiva?, bueno ya sea por hacer spam o simplemente porque algún proyecto lo requiere. En la presente entrada vamos a trabajar sobre Python y el envío automático de mensajes por WhatsApp, que en una segunda parte "os" enseñare como montar un spyware usando el servicio web del "Wasap".

Python y WhatsApp
Python can see you! 

Código:
Un hechizo simple, pero poderoso!. Podríamos incluso añadir una lista de contactos y distribuir mensajes a diestra y siniestra.


Como se que son flojos, aquí les dejo el código:

#Instalamos pywhatkit
#En la consola escribir o copiar: pip install pywhatkit

# importamos el modulo
import pywhatkit 


# Enviamos una imagen al numero +xx xxx xxx xxxx
pywhatkit.sendwhats_image("+524924921020", "C:\\green-python.png") 

# Enviamos un mensaje a las 10:30 PM (22, 30)
pywhatkit.sendwhatmsg("+524924921020", "Hola, voy a acceder a tu Wasap!", 22, 24)

Resultado: 



Usos: 
  1. Trolleo!, crea una lista de SPAM y ya está! (seguro que te dan ban).
  2. Bot de respuestas SMS, o lo que es igual a respuestas automatizadas.
  3. Mensajes de cumpleaños y fechas importantes.
  4. Envío de reportes a tu grupo de trabajo.
  5. Yo que se, encuéntrale un uso. 
Resumen:
Python tiene múltiples librerías para automatizar procesos con programas externos, además de ser simple al leer y escribir.

lunes, 22 de mayo de 2023

Procesamiento de imágenes mediante Inteligencia Artificial (IA) para comparar original y copia.

 Para comenzar en el amplio mundo de la Inteligencia Artificial orientada a la administración de archivos digitales, debemos entender el significado de que son los archivos.

"Los archivos testifican la existencia del humano y su intención por dejar rastro de su paso por el planeta tierra. Son el resultado de la actividad humana y constituyen el testimonio irremplazable de hechos pasados. Permiten el estudio  del funcionamiento democrático de las sociedades, la identidad de los individuos y de las comunidades, y así como la defensa de los derechos del hombre. Pero se trata de objetos frágiles y vulnerables (ICA, 2023)".

Ahora que ya sabemos lo que representan los archivos para la humanidad vamos a comenzar con un ejemplo de como manejar archivos digitales mediante Python y la librería OpenCV. Para ello vamos a analizar dos imágenes.

Imágenes para comparar.

PD: Me gustan los relojes <3

Antes de comenzar debemos importar las librerías necesarias para procesar las imágenes.



Primer paso: Ahora que tenemos las dos imágenes cargadas, necesitamos conocer las propiedades de cada una de ellas para encontrar diferencias simples (tamaño y canales).


Segundo paso: Comparamos el contenido de las imágenes debido a que su tamaño y canales son iguales en ambas.


Tercer paso: Obtenemos los pixeles que difieren en ambas imágenes, dando como resultado la siguiente comparativa.

Resumen: La visión por computadora permite detectar variaciones en los colores, algo que a simple vista no es posible para el humano, ya que esta realiza la comparación de valores pixel a pixel.

¿ Cuál es la diferencia entre estos dos pixeles [1, 234, 2] y [1, 233, 2]?, en realidad es bastante simple comparar los números. Ahora veamos su comparación en RGB a simple vista.


  ¿Resulta simple?, déjame tu comentario.