Pues dándole vueltas el otro día se me ocurrió una idea: Que pasaría si en vez de lanzar las búsquedas una después de otra las lanzamos todas juntas en Threads diferentes?... así que modifique un poco el código y la sorpresa fue que funcionaba bien, con un rendimiento muy superior, pasaba de hacer una búsqueda en todos los canales en 1 minuto y pico, a tardar tan solo unos 20-30 segundos...
después de trastear un poco... me di cuenta que a veces guardaba algún error aleatorio en el log.... el error es al intentar leer/escribir el fichero de cookies a la vez desde varios Threads... aunque parece que el resultado sigue siendo correcto, y no muestra ningún error en pantalla...
esto seria fácilmente solucionable, si en vez de guardar todas las cookies en un fichero las guardase en un fichero para cada dominio... así nunca intentarían 2 Threads leer el mismo fichero, cambiando esto en el scrapertools.py parece que va perfecto...
de todos modos os lo adjunto para que lo probéis... ya que sin cambiar nada mas que el buscador funciona muy bien... lo único que hay que tener en cuenta es que es imposible entender el log generado durante la busqueda, ya que un montón de Threads escribiendo a la vez, pues los mensajes se mezclan y no siguen un orden.
He añadido en los ajustes del buscador la opción de Activar o desactivar el MultiThread... por si en alguna plataforma no anda bien.