tx3bas commited on
Commit
3f22a7b
·
verified ·
1 Parent(s): 2a3e86b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -7
app.py CHANGED
@@ -35,16 +35,19 @@ def identificar_urls_comunes(serps):
35
  urls_comunes = {url for url in all_urls if all_urls.count(url) > 1}
36
  return urls_comunes
37
 
38
- def calcular_porcentajes_similaridad(serp_results):
39
- urls_por_keyword = [set(entry["URL"] for entry in serp) for serp in serp_results.values()]
40
  porcentajes = {}
41
  for combo in combinations(serp_results.keys(), 2):
42
- intersection = len(urls_por_keyword[list(serp_results.keys()).index(combo[0])] & urls_por_keyword[list(serp_results.keys()).index(combo[1])])
43
- union = len(urls_por_keyword[list(serp_results.keys()).index(combo[0])] | urls_por_keyword[list(serp_results.keys()).index(combo[1])])
 
 
 
44
  porcentaje = (intersection / union) * 100 if union != 0 else 0
45
  porcentajes[combo] = porcentaje
46
  return porcentajes
47
 
 
48
  def generar_html_con_colores(serp_results, urls_comunes):
49
  url_color_map = {url: color_palette[i % len(color_palette)] for i, url in enumerate(urls_comunes)}
50
 
@@ -74,13 +77,16 @@ def generar_html_con_colores(serp_results, urls_comunes):
74
  def analyze_keywords(keywords):
75
  keywords_list = [keyword.strip() for keyword in keywords.split(',')]
76
  serp_results = {keyword: buscar_google(keyword) for keyword in keywords_list}
 
 
 
77
 
78
- urls_por_keyword = [[entry["URL"] for entry in serp] for serp in serp_results.values()]
79
  urls_comunes = identificar_urls_comunes(urls_por_keyword)
80
 
81
- html_table = generar_html_con_colores(serp_results, urls_comunes)
82
 
83
- porcentajes_similaridad = calcular_porcentajes_similaridad(serp_results)
84
  similaridad_html = "<div><strong>Porcentajes de Similaridad:</strong><br>"
85
  for combo, porcentaje in porcentajes_similaridad.items():
86
  similaridad_html += f"{combo[0]} & {combo[1]}: {porcentaje:.2f}%<br>"
 
35
  urls_comunes = {url for url in all_urls if all_urls.count(url) > 1}
36
  return urls_comunes
37
 
38
+ def calcular_porcentajes_similaridad(serp_results, min_length):
 
39
  porcentajes = {}
40
  for combo in combinations(serp_results.keys(), 2):
41
+ # Asegurarse de considerar solo hasta min_length resultados para cada keyword
42
+ urls_serp1 = set(entry["URL"] for entry in serp_results[combo[0]][:min_length])
43
+ urls_serp2 = set(entry["URL"] for entry in serp_results[combo[1]][:min_length])
44
+ intersection = len(urls_serp1 & urls_serp2)
45
+ union = len(urls_serp1 | urls_serp2)
46
  porcentaje = (intersection / union) * 100 if union != 0 else 0
47
  porcentajes[combo] = porcentaje
48
  return porcentajes
49
 
50
+
51
  def generar_html_con_colores(serp_results, urls_comunes):
52
  url_color_map = {url: color_palette[i % len(color_palette)] for i, url in enumerate(urls_comunes)}
53
 
 
77
  def analyze_keywords(keywords):
78
  keywords_list = [keyword.strip() for keyword in keywords.split(',')]
79
  serp_results = {keyword: buscar_google(keyword) for keyword in keywords_list}
80
+
81
+ # Determinar el mínimo número de resultados devueltos entre todas las búsquedas
82
+ min_length = min(len(serp) for serp in serp_results.values())
83
 
84
+ urls_por_keyword = [[entry["URL"] for entry in serp][:min_length] for serp in serp_results.values()]
85
  urls_comunes = identificar_urls_comunes(urls_por_keyword)
86
 
87
+ html_table = generar_html_con_colores(serp_results, urls_comunes, min_length) # Asegúrate de ajustar esta función para usar min_length
88
 
89
+ porcentajes_similaridad = calcular_porcentajes_similaridad(serp_results, min_length)
90
  similaridad_html = "<div><strong>Porcentajes de Similaridad:</strong><br>"
91
  for combo, porcentaje in porcentajes_similaridad.items():
92
  similaridad_html += f"{combo[0]} & {combo[1]}: {porcentaje:.2f}%<br>"