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()