es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Búsqueda en Google de Python: Demasiadas solicitudes.

Estoy utilizando un código de Python que usa el módulo googlesearch para obtener la posición de un sitio en una búsqueda de Google.

try:
    from googlesearch import search
except ImportError:
    print("No se encontró el módulo 'google'")

item = "descarga de Windows XP"

for j in search(item, tld="co.in", num=20, stop=20, pause=2):
    print(j)

Eso funciona en algunas ocasiones, luego obtengo el siguiente error:

urllib.error.HTTPError: HTTP Error 429: Too Many Requests

Veo que hay algunas sugerencias para establecer el objeto de encabezado con un User-agent:

requests.get(link, headers={'User-agent': 'tu bot 0.1'})

Sin embargo, no tengo acceso directo al objeto de solicitud en esa parte del código. ¿Puede recomendarme una forma de hacerlo?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para establecer el encabezado User-agent para la solicitud de búsqueda en el código Python dado utilizando el módulo googlesearch, puedes crear un motor de búsqueda personalizado utilizando la clase CustomSearchEngine del mismo módulo. Aquí tienes un ejemplo:

    from googlesearch import search, CustomSearchEngine
    
    API_KEY = 'tu_clave_de_api'
    CSE_ID = 'tu_id_de_cse'
    item = 'descargar windows xp'
    
    google = CustomSearchEngine(API_KEY, CSE_ID)
    google.search(item, user_agent='tu bot 0.1')  # establecer el encabezado User-agent
    

    El método search de la clase CustomSearchEngine también acepta los mismos parámetros que la función search en el código original, como la consulta de búsqueda, el dominio de nivel superior (TLD) y el número de resultados. Al pasar el parámetro user_agent a este método, puedes establecer el encabezado User-agent para la solicitud de búsqueda.

Comments are closed.