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 esto programa varias veces. Sin embargo, al hacer eso, después de varias veces, Google me bloquea. ¿Hay alguna forma para engañar a Google y agregar demoras entre cada iteración? También he escuchado que Google puede aprender los pasos del tiempo. así que necesito que estas demoras sean aleatorias para que Google no pueda encontrar un patrón para aprender mi comportamiento. también debe ser corto, por lo que todo el proceso no requiere demasiado. ¿Alguien sabe algo, o puede proporcionarme un código en Python? GraciasCómo agregar retrasos aleatorios entre las consultas enviadas a Google para evitar ser bloqueado en python
Respuesta
En primer lugar, Google probablemente lo está bloqueando porque no le gusta cuando toma demasiados de sus recursos. La mejor manera de solucionar esto es reducir la velocidad, no retrasar al azar. Espere 1 segundo de espera después de cada solicitud y probablemente deje de tener problemas.
Dicho:
from random import randint
from time import sleep
sleep(randint(10,100))
dormirá un número aleatorio de segundos (entre 10 y 100).
Un par de ideas, insertar un tiempo de espera de 1 segundo después de cada consulta aumentará el tiempo de ejecución en poco más de 12 minutos. Insertar un promedio de 50 segundos de espera después de cada consulta arrojará un aumento de más de 10 horas. Esto puede ser oneroso, incluso para las pruebas. – jball
jball: Es cierto, y 'sleep' puede tomar flotantes, por lo que los números se pueden ajustar. Personalmente, me gustan más las otras respuestas como soluciones a este problema en particular, pero esto responde la pregunta para las personas que quieran insertar retrasos aleatorios en algo en el futuro. – nmichaels
¿Podemos hacerlo 0.5 segundos jaja ayer no añadí un retraso y me bloquearon el uso de Google por un momento. –
Dado que no está probando la velocidad de Google, busque una forma de simularla cuando realice las pruebas (como sugirió @bstpierre en su comentario). Esto debería resolver su problema y factorizar el tiempo de respuesta variable al mismo tiempo.
También puede intentar utilizar algunos servidores proxy para evitar la prohibición por dirección IP. los proxys de soporte de urllib por el parámetro de constructor especial, httplib también puede usar el proxy
- 1. ¿Cómo rastrear todas las consultas enviadas a Oracle DB desde el servidor de la aplicación?
- 2. Evitar la base de datos sqlite3 bloqueado
- 3. Evitar consultas anidadas
- 4. ¿Cómo puedo generar números aleatorios en Python?
- 5. Queda insensible a las consultas
- 6. Cómo agregar un toque dinámico a las macros de emacs y/o a las sustituciones de las consultas?
- 7. ¿Cómo puedo nombrar las ejecuciones enviadas en línea con Caliper?
- 8. Distribución de probabilidad para retrasos de respuesta de sms
- 9. ¿Cómo puedo acelerar las consultas contra tablas a las que no puedo agregar índices?
- 10. ¿Cómo agregar google webfonts a mediawiki?
- 11. ¿Cómo leer desde un os.pipe() sin ser bloqueado?
- 12. ¿Aplicación para monitorear las consultas de PostgreSQL en tiempo real?
- 13. Django: ¿Cómo se puede evitar que las consultas largas maten a su base de datos?
- 14. 1.3M consultas/Hora. ¿Cómo construirías las consultas?
- 15. ¡Todo el sitio web secuestrado! ¿Cómo evitar ser secuestrado?
- 16. ¿Cómo evitar intentar atrapar todas las líneas posibles en Python?
- 17. LINQ a las consultas XML
- 18. Lazy muestra resultados aleatorios en python
- 19. Proceso de Python bloqueado por urllib2
- 20. ¿Cómo puede Google ser tan rápido?
- 21. pruebas de unidad para CTRL-C enviadas a una aplicación
- 22. ¿Puedo evitar consultas largas en PDO?
- 23. ¿Por qué Google App Engine restringe las consultas GQL?
- 24. Cómo sincronizar las consultas de Django
- 25. Pasos para migrar las bases de datos de Core Data para las aplicaciones de iPhone enviadas
- 26. ¿Cómo agregar google infowindow google dinámicamente?
- 27. ¿Cómo probar las consultas HQL?
- 28. Semillas() y números aleatorios en Python
- 29. cómo agregar JavaScript personalizado a los sitios de google?
- 30. Google API para Python
¿Qué estás haciendo para bloquear Google con más de 750 solicitudes en un corto espacio de tiempo? ¿Hay alguna forma de agrupar las solicitudes para enviar menos solicitudes? – Benn
No, he desarrollado un sistema de control de calidad. y necesito los resultados de forma incremental, es por eso que tengo que enviar las consultas una por una. – Hossein
quieres engañar a Google, debes estar loco, e incluso si alguien te da una respuesta aquí, el robot de Google lo tendrá ante ti :), y dijiste que era solo para probar por qué no probar con solo uno o dos consultas con un descanso o algo así ???, pero le daré una pista google bloquear su IP – mouad