tx3bas commited on
Commit
fa10697
·
verified ·
1 Parent(s): c2d4e7d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -2,46 +2,48 @@ 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 1095 días hacia atrás
11
  end_date = datetime.now()
12
- start_date = end_date - timedelta(days=1095)
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 9000 resultados
17
- query = f"?url={website}&output=json&from={datefrom}&to={dateto}&limit=9000"
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 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(f"👓 {formatted_date} {formatted_wayback_url}")
38
- return "\n".join(results)
 
39
 
40
  # Crear la interfaz de Gradio
41
  iface = gr.Interface(
42
  fn=wayback,
43
  inputs="text",
44
- outputs="text",
45
  title="Wayback Machine Lookup",
46
  description="Busca instantáneas de una página web en la Wayback Machine. Introduce solo la URL."
47
  )
 
2
  from datetime import datetime, timedelta
3
  import requests
4
  import json
5
+ import pandas as pd
6
 
7
  def wayback(website):
8
  if not website:
9
+ return pd.DataFrame(columns=["Fecha", "URL"])
10
 
11
+ # Rango de tiempo fijo de 365 días hacia atrás
12
  end_date = datetime.now()
13
+ start_date = end_date - timedelta(days=365)
14
  datefrom = start_date.strftime('%Y%m%d')
15
  dateto = end_date.strftime('%Y%m%d')
16
 
17
+ # Construir la consulta a la Wayback Machine con un límite fijo de 3000 resultados
18
+ query = f"?url={website}&output=json&from={datefrom}&to={dateto}&limit=3000"
19
 
20
  try:
21
  response = requests.get(f"http://web.archive.org/cdx/search/cdx{query}")
22
  if response.status_code != 200:
23
+ return pd.DataFrame([{'Fecha': 'Error', 'URL': f'Respuesta no exitosa con código de estado {response.status_code}'}])
24
  content = json.loads(response.text)
25
  if len(content) <= 1:
26
+ return pd.DataFrame([{'Fecha': 'Error', 'URL': 'No hay datos para esta página web'}])
27
  except json.JSONDecodeError as e:
28
+ return pd.DataFrame([{'Fecha': 'Error', 'URL': f'Error al analizar JSON: {e}'}])
29
  except Exception as e:
30
+ return pd.DataFrame([{'Fecha': 'Error', 'URL': f'Error: {e}'}])
31
 
32
+ # Procesar los resultados y devolverlos en forma de DataFrame
33
  results = []
34
  for row in content[1:]:
35
  date, page, status = [row[i] for i in [1, 2, 4]]
36
  formatted_date = datetime.strptime(date, '%Y%m%d%H%M%S').strftime('%d/%m/%Y')
37
  formatted_wayback_url = f"https://web.archive.org/web/{date}/{page}"
38
+ results.append({'Fecha': formatted_date, 'URL': formatted_wayback_url})
39
+
40
+ return pd.DataFrame(results)
41
 
42
  # Crear la interfaz de Gradio
43
  iface = gr.Interface(
44
  fn=wayback,
45
  inputs="text",
46
+ outputs="dataframe",
47
  title="Wayback Machine Lookup",
48
  description="Busca instantáneas de una página web en la Wayback Machine. Introduce solo la URL."
49
  )