Go to file
Juanjo c6252a2b01 Merge branch 'main' of https://git.ieslamar.org/gitea/thread4 2024-12-03 10:10:36 +01:00
_servidorweb_ first commit 2024-10-29 13:54:33 +01:00
apirest Agregar script para interactuar con la API de Spotify 2024-12-03 10:10:20 +01:00
bbdd responsive 2024-11-10 10:10:00 +01:00
ficheros responsive 2024-11-10 10:10:00 +01:00
graficos varios 2024-11-27 20:38:57 +01:00
navegadores aplicaiones en ventanas 2024-11-12 13:10:04 +01:00
pruebas_ventanas url 2024-11-28 18:19:25 +01:00
scraping responsive 2024-11-10 10:10:00 +01:00
.gitignore responsive 2024-11-10 10:10:00 +01:00
README.md aplicaiones en ventanas 2024-11-12 13:10:04 +01:00
ejemplo.txt jueves- ficheros 2024-10-31 17:18:43 +01:00
main.py responsive 2024-11-10 10:10:00 +01:00

README.md

  • pip install cefpython3
  • pip install tkhtmlview
  • pip install PyQt5 PyQtWebEngine

Ejercicio Thread04

  • git init
  • git config --global user.name "Juanjo"
  • git config --global user.email "juanjo@fp.ieslamar.org"
  • git add .
  • git commit -m "first commit"
  • git remote add origin https://git.ieslamar.org/gitea/thread4.git
  • git push -u origin main Un web crawler, también conocido como spider o bot de rastreo, es un programa que navega de manera automática por la web para recopilar información. El objetivo de un crawler es visitar páginas web, extraer su contenido y seguir los enlaces que encuentre en ellas para descubrir y analizar nuevas páginas. A continuación, te explico un algoritmo básico de un web crawler:

Algoritmo Básico de un Web Crawler

  1. Inicialización:

    • Crear una lista (cola) de URLs por visitar (normalmente se empieza con una URL de inicio o "seed URL").
    • Crear una lista (o conjunto) de URLs ya visitadas para evitar duplicados.
  2. Proceso de Rastreo:

    • Mientras la cola de URLs por visitar no esté vacía y no se haya alcanzado el límite de URLs a rastrear:
      • Extraer la URL actual: Obtener una URL de la cola.
      • Verificar si fue visitada: Si la URL ya ha sido visitada, pasar a la siguiente URL de la cola.
      • Descargar el Contenido de la Página: Realizar una solicitud HTTP (GET) para descargar el contenido de la página.
      • Analizar el Contenido: Analizar la página HTML para extraer datos y obtener todos los enlaces.
      • Procesar los Enlaces:
        • Filtrar y normalizar los enlaces (convertir enlaces relativos en absolutos, eliminar duplicados, etc.).
        • Agregar los enlaces encontrados a la cola de URLs por visitar, siempre que no hayan sido visitados previamente.
      • Marcar como Visitada: Agregar la URL actual a la lista de URLs visitadas.
  3. Reglas de Politeness y Frecuencia (opcional):

    • Respetar el archivo robots.txt del sitio web, que define restricciones de rastreo.
    • Añadir un retardo o "espera" entre las solicitudes para evitar sobrecargar el servidor.
  4. Guardar Resultados:

    • Almacenar los datos extraídos en una base de datos o archivo, dependiendo de los objetivos del crawler.
  5. Fin del Proceso:

    • Terminar cuando la cola esté vacía o se alcance un número máximo de URLs rastreadas.

Ejemplo Simplificado en Pseudocódigo

Inicializar cola_de_URLs con URL_inicial
Inicializar conjunto_de_URLs_visitadas como vacío

Mientras cola_de_URLs no esté vacía y no se alcance el límite:
    URL_actual = extraer_de(cola_de_URLs)
    
    Si URL_actual no está en conjunto_de_URLs_visitadas:
        contenido = descargar_contenido(URL_actual)
        conjunto_de_URLs_visitadas.agregar(URL_actual)
        
        enlaces = extraer_enlaces(contenido)
        Para cada enlace en enlaces:
            Si enlace no está en conjunto_de_URLs_visitadas:
                agregar_a(cola_de_URLs, enlace)
        
        procesar_contenido(contenido)  # Guardar o analizar los datos
    
    esperar_por(unos_segundos)

Este es el esquema básico de un crawler, pero en entornos complejos, los crawlers se pueden optimizar con técnicas de paralelización, almacenamiento distribuido y mayor control sobre la profundidad de rastreo y priorización de URLs.

Objetivo del programa

  • Simular el funcionamiento de un rastreador web (bot crawler)

Estrategia

  • Al programa se le pasa la URL inicial
    • Guardamos el contenido de la página en un fichero
    • Buscamos enlaces
      • Guardamos el enlace en base de datos
      • Volvemos a lanzar la URL encontrada
    • Se repite hasta que no haya más enlaces