pause - thread sleep python
Cómo agregar retrasos aleatorios entre las consultas enviadas a Google para evitar que se bloqueen en Python (3)
He escrito un programa que envía más de 15 consultas a Google en cada iteración, las iteraciones totales son aproximadamente 50. Para las pruebas, tengo que ejecutar este programa varias veces. Sin embargo, al hacer eso, después de varias veces, Google me bloquea. ¿Hay alguna manera de que pueda engañar a Google, tal vez agregando retrasos entre cada iteración? También he oído que Google puede realmente aprender los pasos de tiempo. por lo que necesito que estos retrasos sean aleatorios, por lo que Google no puede encontrar un patrón para aprender mi comportamiento. También debe ser corto para que todo el proceso no tome tanto. ¿Alguien sabe algo, o puede proporcionarme un fragmento de código en python? Gracias
En primer lugar, es probable que Google te esté bloqueando porque no les gusta que tomes muchos de sus recursos. La mejor manera de solucionarlo es ralentizarlo, no retrasarlo aleatoriamente. Ponga una espera de 1 segundo después de cada solicitud y probablemente dejará de tener problemas.
Dicho esto:
from random import randint
from time import sleep
sleep(randint(10,100))
Dormirá un número aleatorio de segundos (entre 10 y 100).
También puede intentar usar algunos servidores proxy para prevenir la prohibición por dirección IP. Proxy de soporte de urllib por parámetro de constructor especial, httplib puede usar proxy también
Ya que no estás probando la velocidad de Google, busca alguna manera de simularlo al hacer tus pruebas (como sugirió @bstpierre en su comentario). Esto debería resolver su problema y factorizar su tiempo de respuesta variable al mismo tiempo.