Proxies rotativos para raspado web

Tengo un rastreador web de Python y quiero distribuir las solicitudes de descarga entre muchos servidores proxy diferentes, probablemente ejecutando squid (aunque estoy abierto a alternativas). Por ejemplo, podría funcionar en forma de round-robin, donde request1 va a proxy1, request2 a proxy2, y eventualmente se recupera. ¿Alguna idea de cómo configurar esto?

Para hacerlo más difícil, también me gustaría poder cambiar dinámicamente la lista de servidores proxy disponibles, eliminar algunos y agregar otros.

Si importa, las direcciones IP se asignan dinámicamente.

Gracias 🙂

    Haga que su rastreador tenga una lista de proxies y con cada solicitud HTTP deje que use el siguiente proxy de la lista de forma rotatoria. Sin embargo, esto evitará que uses conexiones persistentes HTTP / 1.1. La modificación de la lista de proxy eventualmente resultará en usar una nueva o no usar un proxy.

    O tenga varias conexiones abiertas en paralelo, una para cada proxy, y distribuya sus solicitudes de rastreo a cada una de las conexiones abiertas. La dinámica se puede implementar haciendo que el connetor se registre con el despachador de solicitudes.

    He configurado proxies rotativos utilizando HAProxy + DeleGate + Multiple Tor Instances. Con Tor, no tienes un buen control del ancho de banda y la latencia, pero es útil para el raspado web. Acabo de publicar un artículo sobre el tema: Ejecución de sus propios proxies rotativos anónimos

    Edición: Incluso hay un envoltorio de Python para gimmeproxy: https://github.com/ericfourrier/gimmeproxy-api

    Si no le importa Node, puede usar las listas de proxy para recostackr proxies públicos y check-proxy para verificarlos. Es exactamente cómo funciona https://gimmeproxy.com , más información aquí