Le rôle et la raison d'être des procurations
Dans les robots d'exploration du web, le rôle d'un proxy est de cacher l'adresse IP réelle et d'empêcher l'accès d'être bloqué ou restreint par le site web cible. En utilisant un serveur proxy, le crawler peut changer l'endroit où la requête est envoyée pour atteindre l'objectif d'un accès anonyme au site web.
Le principe du proxy est de définir l'adresse et le port du serveur proxy dans le programme du crawler, de sorte que lorsque le crawler lance une requête réseau, il passe d'abord par le serveur proxy et envoie ensuite la requête au site web cible. Cela peut faire croire à tort au site web cible que le serveur proxy y accède, ce qui permet de dissimuler l'adresse IP réelle.
Façons courantes d'utiliser les proxys
Les robots d'exploration du web peuvent utiliser les proxys de deux manières principales : en utilisant directement les adresses IP des proxys et en créant leurs propres pools de proxys.
L'utilisation directe de l'IP proxy signifie que le robot d'exploration obtient au préalable certaines adresses IP proxy et sélectionne ensuite au hasard une IP proxy pour envoyer la requête au moment de l'initialisation de la requête. Cette méthode est simple et directe, mais vous devez mettre à jour la liste des adresses IP proxy régulièrement, car de nombreuses adresses IP proxy seront bloquées ou invalides.
Le pool de proxy auto-construit signifie que le programme crawler enregistre l'IP proxy dans un pool de proxy en parcourant des sites web proxy ou en achetant des services proxy, puis, lorsqu'il doit envoyer une requête, il obtient l'IP proxy du pool de proxy pour l'utiliser. Cette approche est relativement stable, mais nécessite un certain coût de maintenance.
Exemple d'utilisation d'un proxy
Voici un exemple de code pour l'utilisation de proxies dans un crawler Python :
demandes d'importation
proxy = {
"http": "http://127.0.0.1:8888",
"https": "http://127.0.0.1:8888"
}
url = "https://www.example.com"
response = requests.get(url, proxies=proxy)
print(response.text)
Dans cet exemple, nous définissons l'adresse et le port d'un serveur proxy par l'intermédiaire de la bibliothèque de requêtes, puis nous envoyons une requête GET avec un proxy au site web cible. Cela permet au robot d'exploration du web d'utiliser le proxy pour accéder au site.
Grâce aux proxys, les robots d'indexation peuvent mieux dissimuler leur véritable adresse IP pour éviter les blocages ou les restrictions d'accès, et mieux répondre aux tactiques anti-crawler sur les sites ciblés.