Hacer búsquedas en Google con Python


Python tiene muchas librerías e integraciones compatibles, googleseach nos permite hacer búsquedas en google y obtener resultados en python.

Una vez que obtenemos los resultados podemos hacer con ellos cualquier cosa, por ejemplo guardarlos en un archivo o en una base de datos o cualquier otra cosa que se nos ocurra.

Para hacer búsquedas necesitamos 2 paquetes: beautifulsoup4 y google.

Para instalarlos bastara con usar “pip” para instalar los paquetes:

pip install beautifulsoup4
pip install google

Ahora vamos a escribir un script pequeño en python para hacer una búsqueda y obtener los resultados, el siguiente código lo guarde como search1.py

# importar la funcion de busqueda
from googlesearch import search
# esta variable contiene el paramentro o consulta de busqueda
q = "evilnapsis"
# ahora ejecutamos la busqueda con la funcion search y pasamos como parametro la consulta
results = search(q)
# hacemos un recorrido de los resultados, cada resultado es una URL
for r in results:
	print(r)

El código lo agrego con comentarios, al ejecutar el código en una terminal obtendremos los resultados.

Por default nos devuelve alrededor de 30 resultados, pero podemos controlar los resultados usando los parámetros de la función search.

Los parámetros de la función search son:

  • query: Consulta de búsqueda
  • ltd: dominio de búsqueda
  • lang: lenguaje de búsqueda
  • num: numero de resultados para obtener
  • start: resultado inicial, podemos saltar por ejemplo los primeros 10 o 100 resultados
  • stop: Parar, si el valor es None la busqueda seria infinita / infinite loop o hasta que se terminen los resultados
  • pause: Lapso entre peticiones HTTP, una pausa muy corta puede hacer que google nos banee por IP y una pausa muy larga hace que el script vaya lento.

En este ejemplo llamado search2.py vamos a obtener una búsqueda de 100 resultados y la consulta de búsqueda va a ser introducida por el usuario haciendo el script mas flexible.

# importar la funcion de busqueda
from googlesearch import search
# la consulta de busqueda la vamos a obtener de la entrada por teclado
q = input("Ingrese su busqueda: ")

tld = "com" 
lang = "en" 
num=100  
start=0 
stop=num 
pause=2.0 
# ahora ejecutamos la busqueda con la funcion search y pasamos como parametro la consulta
# asignamos cada parametro de variable local con los parametros correspondiente de la funcion search
results = search(q, tld=tld, lang=lang, num=num, start=start, stop=stop, pause=pause)
# hacemos un recorrido de los resultados, cada resultado es una URL
for r in results:
	print(r) # la variable "r" contiene la url resultado

Ejecutamos el script y obtendremos los resultados, en este ejemplo no les pongo una captura de pantalla pero les aseguro que funciona, ademas el resultado cambia según la consulta que se introduzca.

Leave a comment