Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
43 |
-
|
|
|
|
|
|
|
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>"
|