tx3bas commited on
Commit
8397de5
·
verified ·
1 Parent(s): f4c0dd1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -39
app.py CHANGED
@@ -1,10 +1,7 @@
1
  import gradio as gr
2
  import requests
3
  import urllib.parse
4
- from bs4 import BeautifulSoup
5
- import pandas as pd
6
 
7
- # Funciones para Google
8
  def fetch_suggestions(query, lang_code="es"):
9
  encoded_query = urllib.parse.quote(query)
10
  url = f"http://suggestqueries.google.com/complete/search?client=firefox&hl={lang_code}&q={encoded_query}"
@@ -21,7 +18,7 @@ def expand_keyword(keyword):
21
  expanded_keywords.append(letter + " " + keyword)
22
  return expanded_keywords
23
 
24
- def main_google(keyword):
25
  expanded_keywords = expand_keyword(keyword)
26
  all_suggestions = {}
27
 
@@ -33,48 +30,25 @@ def main_google(keyword):
33
  else:
34
  all_suggestions[suggestion] = 1
35
 
 
36
  sorted_suggestions = sorted(all_suggestions.items(), key=lambda item: item[1], reverse=True)
37
  top_10_suggestions = [sug for sug, freq in sorted_suggestions if freq >= 2][:10]
38
  suggestions_str = ", ".join(top_10_suggestions)
39
 
40
- html_table_google = "<details><summary>Ver sugerencias de Google</summary><table><tr><th>Sugerencias de Google</th><th>Frecuencia</th></tr>"
 
41
  for suggestion, frequency in sorted_suggestions:
42
- html_table_google += f"<tr><td>{suggestion}</td><td>{frequency}</td></tr>"
43
- html_table_google += "</table></details>"
44
 
45
- return suggestions_str, html_table_google
46
 
47
- # Funciones para Bing
48
- def extraer_sugerencias_bing(query):
49
- query = query.replace(' ', '+')
50
- url_busqueda = f"https://www.bing.es/search?q={query}&qs=n&form=QBRE&sp=-1&ghc=1&pq=ponferradin&sc=8-11&sk=&cvid=E9585B5B0F4343AF97297973971AF21E"
51
- headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"}
52
- response_busqueda = requests.get(url_busqueda, headers=headers)
53
- titulos_sugerencias = []
54
- if response_busqueda.status_code == 200:
55
- soup_busqueda = BeautifulSoup(response_busqueda.text, 'html.parser')
56
- suggestion_titles = soup_busqueda.find_all('div', class_='richrsrailsuggestion')
57
- titulos_sugerencias = [title.text.strip() for title in suggestion_titles]
58
- return titulos_sugerencias
59
-
60
- def main_bing(keyword):
61
- sugerencias_bing = extraer_sugerencias_bing(keyword)
62
- html_table_bing = "<details><summary>Ver sugerencias de Bing</summary><table><tr><th>Sugerencias de Bing</th></tr>"
63
- for suggestion in sugerencias_bing:
64
- html_table_bing += f"<tr><td>{suggestion}</td></tr>"
65
- html_table_bing += "</table></details>"
66
- return ", ".join(sugerencias_bing[:10]), html_table_bing
67
-
68
- # Creación de la interfaz de Gradio
69
  iface = gr.Interface(
70
- fn=[main_google, main_bing],
71
- inputs=gr.inputs.Textbox(label="Ingrese Palabra Clave"),
72
- outputs=[
73
- ["text", "html"], # Salidas para Google
74
- ["text", "html"] # Salidas para Bing
75
- ],
76
- title="Generador de sugerencias de búsqueda de Google y Bing",
77
- description="Ingrese una palabra clave para obtener sugerencias de búsqueda relacionadas de Google y Bing. Se mostrarán las 10 sugerencias más frecuentes que aparecen al menos dos veces, seguidas de tablas detalladas con todas las sugerencias y sus frecuencias."
78
  )
79
 
80
- iface.launch()
 
1
  import gradio as gr
2
  import requests
3
  import urllib.parse
 
 
4
 
 
5
  def fetch_suggestions(query, lang_code="es"):
6
  encoded_query = urllib.parse.quote(query)
7
  url = f"http://suggestqueries.google.com/complete/search?client=firefox&hl={lang_code}&q={encoded_query}"
 
18
  expanded_keywords.append(letter + " " + keyword)
19
  return expanded_keywords
20
 
21
+ def main(keyword):
22
  expanded_keywords = expand_keyword(keyword)
23
  all_suggestions = {}
24
 
 
30
  else:
31
  all_suggestions[suggestion] = 1
32
 
33
+ # Ordenar las sugerencias por frecuencia y seleccionar las 10 primeras con al menos dos repeticiones
34
  sorted_suggestions = sorted(all_suggestions.items(), key=lambda item: item[1], reverse=True)
35
  top_10_suggestions = [sug for sug, freq in sorted_suggestions if freq >= 2][:10]
36
  suggestions_str = ", ".join(top_10_suggestions)
37
 
38
+ # Crear tabla HTML con todas las sugerencias
39
+ html_table = "<details><summary>Ver tabla de sugerencias de Google</summary><table><tr><th>Sugerencias de Google</th><th>Frecuencia</th></tr>"
40
  for suggestion, frequency in sorted_suggestions:
41
+ html_table += f"<tr><td>{suggestion}</td><td>{frequency}</td></tr>"
42
+ html_table += "</table></details>"
43
 
44
+ return suggestions_str, html_table
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  iface = gr.Interface(
47
+ fn=main,
48
+ inputs="text",
49
+ outputs=["text", "html"],
50
+ title="Generador de sugerencias de búsqueda de Google",
51
+ description="Ingrese una palabra clave para obtener sugerencias de búsqueda relacionadas de Google. Se mostrarán las 10 sugerencias más frecuentes que aparecen al menos dos veces, seguidas de una tabla detallada con todas las sugerencias y sus frecuencias."
 
 
 
52
  )
53
 
54
+ iface.launch()