
Générateurs aléatoires d'adresses IP
Le vieux fer engagé dans les crawlers comprend certainement que le mécanisme anti-climbing du site web est maintenant de plus en plus un voleur de poule. La semaine dernière, un frère m'a raconté qu'il avait écrit un script pour exécuter l'IP bloquée, et qu'il avait presque écrasé le clavier. À l'heure actuelleAlgorithme de génération aléatoire d'adresses IPC'est là qu'il intervient - mais n'allons pas trop vite en besogne et n'écrivons pas le code, nous devons comprendre comment cela va fonctionner.
Les adresses IP aléatoires ne sont pas aveugles.
Beaucoup de gens pensent que les adresses IP générées au hasard consistent à remplir quatre séries de chiffres, ce qui est certainement un piège ! Par exemple, le début de l'adresse intranet 192.168, ou n'existe tout simplement pas dans le segment d'adresse, ce type de génération d'IP n'a aucune utilité. L'approche correcte est la suivanteSe référer au segment IP public mondial attribué par l'IANAVoici un tableau comparatif facile à consulter :
| district (pas nécessairement une unité administrative formelle) | Exemple de segment IP |
|---|---|
| Amérique du Nord | 12.0.0.0 – 12.255.255.255 |
| Européen | 46.0.0.0 – 46.255.255.255 |
| Asiatique | 116.0.0.0 – 116.255.255.255 |
Mise en œuvre des trois axes en open source
Si vous écrivez en Python, vous utiliserez principalement ces trois bibliothèques :
1. le socket effectue les contrôles de base
2. manipulation aléatoire de nombres aléatoires
3) Validation de la bibliothèque ipaddress
La génération d'une adresse IP européenne peut être perturbée de la manière suivante :
import random
def gen_eu_ip() : return f "46.{random.randint(0,255)}.
return f "46.{random.randint(0,255)}. {random.randint(0,255)}. {random.randint(0,255)}"
Il est préférable de construire le sien plutôt que d'utiliser un modèle tout fait.
L'écriture de votre propre générateur a un talon d'Achille : la propriété intellectuelle générée peut ne même pas avoir de sens ! C'est comme lorsqu'on achète un passe-partout et qu'on s'aperçoit qu'on ne peut pas forcer la moitié des serrures. C'est alors qu'il est temps deServices proxy pour ipipgoDès le départ, les utilisateurs disposent de pools d'adresses IP dynamiques prêts à l'emploi, avec vérification automatique.
Utilisez les trois lignes de code de leur API pour obtenir les adresses IP disponibles :
import requêtes
resp = requests.get("https://api.ipipgo.com/getproxy")
print(resp.json()['ip'])
Guide pratique pour éviter la fosse
Vous est-il déjà arrivé qu'un script raccroche soudainement à 3 heures du matin ? Cesune leçon apprise dans le sang et les larmesIl faut le rappeler :
1. ne pas être trop régulier dans les intervalles entre les demandes (les humains sont faillibles).
2. utiliser des segments IP différents pour des opérations différentes (segment A pour l'enregistrement, segment B pour la demande de renseignements)
3. mise à jour hebdomadaire de la base de données IP (ipipgo met automatiquement à jour la base de données en arrière-plan, ce qui est un grand soulagement).
Foire aux questions QA
Q : Comment puis-je vérifier si l'adresse IP générée est valide ?
R : Il suffit d'utiliser la commande curl pour tester la connectivité, ou d'utiliser la commande ipipgoOutils de test en ligneLe serveur d'authentification est beaucoup plus rapide que la construction de votre propre serveur d'authentification.
Q : Combien de PI sont nécessaires pour être suffisants ?
R : Pour les petits projets, 500-1000 par jour suffisent. Pour les collectes à grande échelle, il est recommandé de faire appel à ipipgo.Paquet EntrepriseIl permet de commuter plus de 20 IP par seconde.
Q : Comment changer rapidement d'adresse en cas de blocage de l'IP ?
A : Ajouter un mécanisme de tentative anormale dans le code, détecter le code d'état 403 changera automatiquement l'IP suivante d'ipipgo, l'efficacité de pro-test 98% ou plus.
Enfin, les proxies gratuits sont pratiquement inutilisables de nos jours, soit parce qu'ils sont lents, soit parce qu'ils ont un temps de survie très court. J'ai testé plus d'une douzaine de fournisseurs de services.Le temps de réponse d'ipipgo est stable et ne dépasse pas 200 ms.Il n'est pas faux non plus de faire des affaires qui nécessitent une interaction en temps réel. Certains frères ont déclaré que leur positionnement au niveau de la ville était assez précis, et vous pouvez l'essayer si vous voulez contourner les restrictions géographiques.

