Spaces:
Build error
Build error
| 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() | |