Spaces:
Build error
Build error
File size: 1,805 Bytes
179f419 e698fdc 84c7ded d8907b7 84c7ded d8907b7 84c7ded c2d4e7d 84c7ded 8d8b7f9 3385b08 84c7ded 8d8b7f9 3385b08 84c7ded 8d8b7f9 e698fdc 8d8b7f9 e698fdc 8d8b7f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import gradio as gr
from datetime import datetime, timedelta
import requests
import json
def wayback(website):
if not website:
return '😭 Error: introduce una url correcta'
# Rango de tiempo fijo de 1095 días hacia atrás
end_date = datetime.now()
start_date = end_date - timedelta(days=1095)
datefrom = start_date.strftime('%Y%m%d')
dateto = end_date.strftime('%Y%m%d')
# Construir la consulta a la Wayback Machine con un límite fijo de 9000 resultados
query = f"?url={website}&output=json&from={datefrom}&to={dateto}&limit=9000"
try:
response = requests.get(f"http://web.archive.org/cdx/search/cdx{query}")
if response.status_code != 200:
return f'😭 Error: Respuesta no exitosa con código de estado {response.status_code}'
content = json.loads(response.text)
if len(content) <= 1:
return '😭 Error: no hay datos para esta página web'
except json.JSONDecodeError as e:
return f'😭 Error al analizar JSON: {e}'
except Exception as e:
return f"😭 Error: {e}"
# Procesar los resultados y devolverlos
results = []
for row in content[1:]:
date, page, status = [row[i] for i in [1, 2, 4]]
formatted_date = datetime.strptime(date, '%Y%m%d%H%M%S').strftime('%d/%m/%Y')
formatted_wayback_url = f"https://web.archive.org/web/{date}/{page}"
results.append(f"👓 {formatted_date} {formatted_wayback_url}")
return "\n".join(results)
# Crear la interfaz de Gradio
iface = gr.Interface(
fn=wayback,
inputs="text",
outputs="text",
title="Wayback Machine Lookup",
description="Busca instantáneas de una página web en la Wayback Machine. Introduce solo la URL."
)
# Lanzar la aplicación
iface.launch()
|