10
votes

Proxies de rotation pour la raclage en bande

J'ai un robot Web Python et je souhaite distribuer les demandes de téléchargement parmi de nombreux serveurs de proxy, probablement exécutant Squid (bien que je suis ouvert aux alternatives). Par exemple, cela pourrait fonctionner dans une mode rond-robine, où demande1 va à proxy1, demande2 à proxy2 et éventuellement en boucle. Toute idée de la configuration?

Pour que cela soit plus difficile, j'aimerais également pouvoir modifier de manière dynamique la liste des proxy disponibles, en apportant des autres et ajouter d'autres.

Si cela compte, les adresses IP sont attribuées de manière dynamique.

Merci:)


0 commentaires

3 Réponses :


6
votes

Faites que votre chronomètre dispose d'une liste de mandataires et de chaque requête HTTP, laissez-la utiliser le prochain proxy de la liste de la mode ronde Robin. Cependant, cela vous empêchera d'utiliser des connexions HTTP / 1.1 persistantes. La modification de la liste des proxy entraînera finalement l'utilisation d'un nouveau ou non d'utiliser un proxy.

ou avoir plusieurs connexions ouvertes en parallèle, une à chaque proxy et distribuez vos demandes rampantes à chacune des connexions ouvertes. La dynamique peut être mise en œuvre en ayant le Connetor s'inscrivant avec le répartiteur de demande.


2 commentaires

Merci, m'a donné de bonnes idées, principalement en utilisant un REDIS défini pour stocker la liste de proxy et le commandement de Srandmember pour obtenir un proxy.


@JaCOB Pouvez-vous partager votre exemple de code ou Github Repo sur la façon dont vous avez accompli cela?



13
votes

J'ai installé des procurations rotatives à l'aide de Haproxy + délégué + des instances multiples Tor. Avec tor, vous n'avez pas de bon contrôle de la bande passante et de la latence, mais c'est utile pour la raclage Web. Je viens de publier un article sur le sujet: Utilisant votre propre rotation anonyme Proxies


2 commentaires

C'est assez cool. Malheureusement, de plus en plus de sites semblent interdire les adresses IP associées aux nœuds de sortie de Tor.


@Chrisarmstrong Yup. C'est quelque chose à considérer si vous envisagez de faire cette voie.



1
votes

EDIT: Il y a même python wrapper pour gimmeproxy: https://github.com/ericfourrier/gimmeproxy -api

Si cela ne vous dérange pas de nœud, vous pouvez utiliser listes de proxy pour collecter public Proxies et Vérifier-proxy pour les vérifier. C'est exactement comment https://gimmeproxy.com fonctionne, plus d'info ici


0 commentaires