tx3bas commited on
Commit
748227d
verified
1 Parent(s): a99cb1d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -5
app.py CHANGED
@@ -39,7 +39,7 @@ def fetch_google_suggestions(query, lang_code="es"):
39
  else:
40
  return []
41
 
42
- # Funci贸n para obtener sugerencias de YouTube
43
  def fetch_youtube_suggestions(query, lang_code="es"):
44
  encoded_query = urllib.parse.quote(query)
45
  url = f"http://suggestqueries.google.com/complete/search?client=youtube&hl={lang_code}&q={encoded_query}"
@@ -51,10 +51,30 @@ def fetch_youtube_suggestions(query, lang_code="es"):
51
  suggestions_data = match.group(1)
52
  return [normalize_keyword(suggestion) for suggestion in re.findall(r'\["([^"]+)"', suggestions_data)]
53
  else:
54
- print("No se encontraron sugerencias en el formato esperado.")
55
  return []
56
  except Exception as e:
57
- print(f"Error procesando la respuesta de YouTube: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  return []
59
  else:
60
  return []
@@ -131,11 +151,13 @@ def main(keyword):
131
  for suggestion in suggestions:
132
  all_suggestions[suggestion] = all_suggestions.get(suggestion, 0) + 1
133
 
134
- # Obtener sugerencias de YouTube
135
  for exp_keyword in expanded_keywords:
136
  suggestions = fetch_youtube_suggestions(exp_keyword)
137
  youtube_suggestions_all.extend(suggestions)
138
- for suggestion in suggestions:
 
 
139
  all_suggestions[suggestion] = all_suggestions.get(suggestion, 0) + 1
140
 
141
  # Obtener sugerencias de Bing
 
39
  else:
40
  return []
41
 
42
+ # Funci贸n para obtener sugerencias de YouTube usando la API anterior
43
  def fetch_youtube_suggestions(query, lang_code="es"):
44
  encoded_query = urllib.parse.quote(query)
45
  url = f"http://suggestqueries.google.com/complete/search?client=youtube&hl={lang_code}&q={encoded_query}"
 
51
  suggestions_data = match.group(1)
52
  return [normalize_keyword(suggestion) for suggestion in re.findall(r'\["([^"]+)"', suggestions_data)]
53
  else:
54
+ print("No se encontraron sugerencias en el formato esperado (YouTube antiguo).")
55
  return []
56
  except Exception as e:
57
+ print(f"Error procesando la respuesta de YouTube (antiguo): {e}")
58
+ return []
59
+ else:
60
+ return []
61
+
62
+ # Funci贸n para obtener sugerencias de YouTube usando la nueva API
63
+ def fetch_youtube_suggestions_new(query, lang_code="es"):
64
+ encoded_query = urllib.parse.quote(query)
65
+ url = f"https://suggestqueries-clients6.youtube.com/complete/search?client=youtube&ds=yt&q={encoded_query}&hl={lang_code}"
66
+ response = requests.get(url)
67
+ if response.status_code == 200:
68
+ try:
69
+ match = re.search(r'window\.google\.ac\.h\(\["[^"]*",\[(.*?)\],', response.text)
70
+ if match:
71
+ suggestions_data = match.group(1)
72
+ return [normalize_keyword(suggestion) for suggestion in re.findall(r'\["([^"]+)"', suggestions_data)]
73
+ else:
74
+ print("No se encontraron sugerencias en el formato esperado (nueva API de YouTube).")
75
+ return []
76
+ except Exception as e:
77
+ print(f"Error procesando la respuesta de la nueva API de YouTube: {e}")
78
  return []
79
  else:
80
  return []
 
151
  for suggestion in suggestions:
152
  all_suggestions[suggestion] = all_suggestions.get(suggestion, 0) + 1
153
 
154
+ # Obtener sugerencias de YouTube (API anterior y nueva)
155
  for exp_keyword in expanded_keywords:
156
  suggestions = fetch_youtube_suggestions(exp_keyword)
157
  youtube_suggestions_all.extend(suggestions)
158
+ new_suggestions = fetch_youtube_suggestions_new(exp_keyword)
159
+ youtube_suggestions_all.extend(new_suggestions)
160
+ for suggestion in suggestions + new_suggestions:
161
  all_suggestions[suggestion] = all_suggestions.get(suggestion, 0) + 1
162
 
163
  # Obtener sugerencias de Bing