
Mec, est-ce que ton IP proxy est fiable ou non ?
La tête du vieux Zhang est récemment devenue très grande, les mains des milliers de proxy IP, avec l'ouverture d'une boîte aveugle comme. Hier, il se contentait d'exécuter le script, aujourd'hui, il a soudainement fait une grève collective, tellement en colère qu'il a giflé la table. Je ne connais que trop bien ce phénomène.Vérification par lots de la capacité de survie de l'IP du proxyL'objectif est de faire en sorte que le groupe chargé de la collecte des données ait les moyens d'agir en conséquence.
Des tests manuels ? Arrêtez !
Au début, j'ai aussi stupidement testé manuellement, en ouvrant le navigateur un par un pour perdre le proxy. Plus tard, j'ai découvert que ce travail n'est pas un travail humain - 200 tests d'IP, les yeux regardent la chaîne de caractères. Le pire, c'est que certaines IP semblent pouvoir être connectées, mais en pratique, soit elles sont hors délai, soit elles laissent tomber des paquets comme des fous.
| Méthode d'essai | prendre une période de (x temps) | précision |
|---|---|---|
| contrôlé manuellement | 3 heures/100 | Autour de 60% |
| Script Batch | 5 minutes/1000 | 95% et plus |
Rédigez votre propre détecteur
En voici une.Cas concrets Pythonen utilisant la bibliothèque des requêtes + le multithreading pour l'ensemble du travail. Faites attention à la section des commentaires, il s'agit de marcher sur des nids-de-poule !
import concurrent.futures
import requêtes
Pour tester le site, il est recommandé de le faire avec le nom de domaine de votre entreprise
TEST_URL = "http://www.baidu.com"
TIMEOUT = 5
def check_proxy(proxy) :
try : resp = requests.get(TEST_URL)
resp = requests.get(TEST_URL, proxies={
'https' : f'http://{proxy}'}, timeout=TIMEOUT), timeout=TIMEOUT).
timeout=TIMEOUT)
return proxy if resp.status_code == 200 else None
return None
return None
Lire la liste des adresses IP à partir du fichier
avec open('proxy_list.txt') comme f.
proxies = f.read().splitlines()
Ouvrir 20 pools de threads
avec concurrent.futures.ThreadPoolExecutor(20) as executor :
results = executor.map(check_proxy, proxies)
Tri des IP valides
valid_ips = [ip for ip in results if ip]
print(f "IPs survivantes : {len(valid_ips)} ones")
Remarquez qu'il y a unfosse cachéeNe vous contentez pas d'utiliser un tiers pour tester un site web, certains sites web bloqueront les demandes HF. Il est recommandé d'utiliser ses propres noms de domaine liés à l'entreprise, par exemple pour tester le commerce électronique avec Jingdong Taobao.
Le programme d'économies dépend également des services professionnels
Même s'il est très agréable de lancer des scripts par soi-même, on se gratte la tête dans ces quelques situations :
- La taille de la bibliothèque IP est de 100 000, le serveur ne peut pas la gérer.
- 需要测、地理位置等高级参数
- Nécessite une surveillance continue de 24 heures
Il est temps de passer directement àService d'inspection de l'API d'ipipgoIl s'agit d'une véritable affaire. L'interface d'accueil renvoie ces données essentielles :
{
"ip" : "123.60.88.99",
"port" : 8080,
"speed" : 356ms,
"expire_time" : "2024-06-30"
}
Temps consacré à l'assurance qualité (question souvent posée par les anciens)
Q : Que puis-je faire si le script de détection est trop lent ?
R : Ne soyez pas trop gourmand avec le nombre de threads ! Il est recommandé de ne pas dépasser 50 threads, sinon il est facile de faire planter le réseau local. Si vous voulez vraiment traiter des données volumineuses, il est recommandé d'utiliser l'interface de détection asynchrone ipipgo, 100 000 IP en une demi-heure.
Q : Où trouver un proxy IP fiable ?
A : Doit être acceptable pour mon propre frèreipipgo. Leur pool d'IP est mis à jour quotidiennement avec 20%, en mettant l'accent sur les IP dédiées.Détection Paquet IPIl est donc particulièrement adapté aux scénarios qui nécessitent des vérifications à haute fréquence.
Q : La détection du proxy HTTPS échoue toujours ?
R : Dans 80% des cas, il s'agit d'un problème de validation de certificat. Dans la demande de requête, ajoutezverify=Falsemais ce n'est pas sûr. Il est recommandé d'utiliser directement l'interface de détection prête à l'emploi d'ipipgo, pour gagner du temps.
Un dernier mot sincère :Ne perdez pas votre temps avec des agents sans intérêt.Je ne suis pas sûr que vous puissiez le faire. Avec autant d'efforts pour lancer des scripts, pourquoi ne pas obtenir un certain nombre d'adresses IP de qualité.Rapports de disponibilité en temps réelLes prestataires de services qui sont de véritables outils de productivité.

