tx3bas commited on
Commit
bd7fe45
·
verified ·
1 Parent(s): 12e9d7e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -61
app.py CHANGED
@@ -1,63 +1,3 @@
1
- import gradio as gr
2
- from datetime import datetime, timedelta
3
- import requests
4
- import json
5
-
6
- def wayback(website):
7
- if not website:
8
- return '😭 Error: introduce una url correcta'
9
-
10
- # Rango de tiempo fijo de 365 días hacia atrás
11
- end_date = datetime.now()
12
- start_date = end_date - timedelta(days=365)
13
- datefrom = start_date.strftime('%Y%m%d')
14
- dateto = end_date.strftime('%Y%m%d')
15
-
16
- # Construir la consulta a la Wayback Machine con un límite fijo de 3000 resultados
17
- query = f"?url={website}&output=json&from={datefrom}&to={dateto}&limit=3000"
18
-
19
- try:
20
- response = requests.get(f"http://web.archive.org/cdx/search/cdx{query}")
21
- if response.status_code != 200:
22
- return f'😭 Error: Respuesta no exitosa con código de estado {response.status_code}'
23
- content = json.loads(response.text)
24
- if len(content) <= 1:
25
- return '😭 Error: no hay datos para esta página web'
26
- except json.JSONDecodeError as e:
27
- return f'😭 Error al analizar JSON: {e}'
28
- except Exception as e:
29
- return f"😭 Error: {e}"
30
-
31
- # Procesar los resultados, ordenarlos y devolverlos
32
- results = []
33
- for row in content[1:]:
34
- date, page, status = [row[i] for i in [1, 2, 4]]
35
- formatted_date = datetime.strptime(date, '%Y%m%d%H%M%S').strftime('%d/%m/%Y')
36
- formatted_wayback_url = f"https://web.archive.org/web/{date}/{page}"
37
- results.append({'date': date, 'formatted_date': formatted_date, 'link': formatted_wayback_url})
38
-
39
- # Ordenar los resultados por fecha de manera descendente
40
- results.sort(key=lambda x: x['date'], reverse=True)
41
-
42
- # Formatear los resultados para mostrar en HTML
43
- formatted_results = [f"👓 {item['formatted_date']} <a href='{item['link']}' target='_blank'>{item['link']}</a>" for item in results]
44
- return "<br>".join(formatted_results)
45
-
46
- # Crear la interfaz de Gradio
47
- iface = gr.Interface(
48
- fn=wayback,
49
- inputs="text",
50
- outputs="html",
51
- title="Wayback Machine Lookup",
52
- description="Busca instantáneas de una página web en la Wayback Machine. Introduce solo la URL."
53
- )
54
-
55
- # Lanzar la aplicación
56
- iface.launch()
57
-
58
-
59
-
60
-
61
  import gradio as gr
62
  from datetime import datetime, timedelta
63
  import requests
@@ -153,4 +93,4 @@ archive_interface = gr.Interface(
153
  iface = gr.TabbedInterface([wayback_interface, archive_interface], ["Buscar Instantáneas", "Archivar URL"])
154
 
155
  # Lanzar la aplicación
156
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from datetime import datetime, timedelta
3
  import requests
 
93
  iface = gr.TabbedInterface([wayback_interface, archive_interface], ["Buscar Instantáneas", "Archivar URL"])
94
 
95
  # Lanzar la aplicación
96
+ iface.launch()