prompt IA para scraping de pagina

  • Autor Autor LabConker
  • Fecha de inicio Fecha de inicio
L

LabConker

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
deben descargar el fuente con este:

import requests
# URL que quieres descargar
url = 'www.pagina.com/....'
try:
# Realiza la solicitud GET
response = requests.get(url)
response.raise_for_status() # Lanza una excepción si hay un error HTTP
# Guarda el contenido en un archivo
with open('fuente.html', 'w', encoding='utf-8') as file:
file.write(response.text)
print('El código fuente se ha guardado correctamente en fuente.html.')
except requests.exceptions.RequestException as e:
print(f'Error al descargar la página: {e}')

se lo envia a una ia con este prompt
el prompt es:


Objetivo:
Analizar el contenido completo del archivo como texto plano para:

Detectar todas las referencias a archivos multimedia con extensiones comunes de video, audio e imagen, tales como:

Video: .mp4, .avi, .mov, .webm, etc.

Imagen: .png, .jpg, .jpeg, .gif, .bmp, etc.

Audio: .mp3, .wav, .ogg, etc.

Identificar y extraer posibles URLs o rutas de estos archivos, aún si están fragmentadas o concatenadas, incluyendo casos en que la extensión pueda estar oculta o partida (por ejemplo, separada por caracteres o espacios).

Validar si las referencias encontradas probablemente corresponden a archivos reales o si son falsos positivos (como texto que solo contiene la extensión pero no un archivo válido).

Extraer el nombre del producto y una descripción simple (breve) de cada producto dentro del documento.

Recorrer todo el contenido del archivo para identificar todas estas informaciones y devolver un JSON con la siguiente estructura:

json

{
"productos": [
{
"nombre_producto": "Texto con el nombre del producto",
"descripcion_simple": "Texto breve con descripción simple",
"recursos": [
"URL_o_ruta_al_archivo_1.mp4",
"URL_o_ruta_al_archivo_2.png",
"URL_o_ruta_al_archivo_3.mp3"
]
},
...
]
}

Notas adicionales:

Debe procesar el HTML como texto, sin asumir estructura fija.

Detectar casos en que la extensión esté dividida o enmascarada (por ejemplo, por espacios, símbolos o concatenaciones).

Priorizar la extracción de datos precisos y completos.

En caso de dudas sobre la validez de un recurso, indicar si es probable que sea un archivo real o no.


================

Éxito
 
¡Excelente! Tu código y prompt están bien estructurados para scraping y análisis de contenido. Solo asegúrate de respetar las políticas de uso del sitio web que estás analizando. ¡Suerte con tu proyecto!
 
Te faltan los headers, si no detectara que es un bot y te saldra el 404
 
Te faltan los headers, si no detectara que es un bot y te saldra el 404
Tienes razón, incluir headers en la solicitud es crucial para evitar bloqueos. Aquí te dejo una versión mejorada del código con headers:

Python:
import requests

url = '[URL="http://www.pagina.com/"]www.pagina.com/[/URL]....'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

try:
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    with open('fuente.html', 'w', encoding='utf-8') as file:
        file.write(response.text)
    print('El código fuente se ha guardado correctamente en fuente.html.')
except requests.exceptions.RequestException as e:
    print(f'Error al descargar la página: {e}')

¡Gracias por la observación!
 
Te faltan los headers, si no detectara que es un bot y te saldra el 404
Todavía no lo automatizo, es la base de un sistema, la idea es que se pueda iterar un json con las url. Lo tendré en consideración.