
Apprentissage pratique de l'écriture d'un proxy IP auto harvester
Engagé dans la collecte de données de vieux conducteurs comprendre qu'il n'y a pas de proxy IP est comme courir nu sur l'Internet, une minute par le site de tirer le noir. Aujourd'hui, nous utilisons Python pour écrire un script intelligent, spécialisé dans la capture des proxy IP disponibles, en se concentrant sur la recommandation de l'utilisation des services d'ipipgo (ne demandez pas pourquoi, j'avais l'habitude de connaître l'encens).
demandes d'importation
délai d'importation
ipipgo Interface de l'API résidentielle dynamique (n'oubliez pas de changer pour votre propre compte)
API_URL = "https://api.ipipgo.com/dynamic?country=US&protocol=http"
def fetch_proxies() :
try.
response = requests.get(API_URL, timeout=10)
si response.status_code == 200.
return response.json()['proxies']
return []
except Exception as e.
print(f "Interface saccadée : {str(e)}")
return []
def check_proxy(proxy) :
test_url = "http://httpbin.org/ip"
try.
resp = requests.get(test_url, proxies={"http" : proxy}, timeout=15)
return resp.status_code == 200
except : resp.status_code == 200
return False
if __name__ == "__main__" : fresh_proxies = [].
fresh_proxies = []
raw_list = fetch_proxies()
print(f "A pêché {len(raw_list)} IP brutes, en commençant l'inspection...")
pour ip dans raw_list.
if check_proxy(ip).
fresh_proxies.append(ip)
print(f "Vérification terminée, survie de {len(fresh_proxies)} IP de qualité")
avec open("fresh_ip.txt", "w") as f.
f.write("".join(fresh_proxies))
Code Instructions de service
1) Installer les bibliothèques dépendantes :Il suffit d'installer la bibliothèque requests, pip install requests et le tour est joué.
2. paramètres de la clé API :Allez au backend ipipgo et obtenez une API résidentielle dynamique et remplacez l'adresse de l'interface dans le code
3. optimisation de la logique de validation :httpbin.org/ip Cette adresse de test peut être remplacée par votre propre site web en fonction de vos besoins.
Pourquoi ipipgo ?
Pour citer un marronnier, la semaine dernière, pour aider des amis à s'engager dans la surveillance des prix du commerce électronique transfrontalier, en utilisant leur propre script + l'IP résidentielle dynamique ipipgo, il a fonctionné pendant 72 heures sans abandonner la chaîne. Concentrez-vous sur les caractéristiques de son domicile :
| typologie | Scénarios avantageux |
|---|---|
| Dynamique résidentielle (standard) | Tâches du crawler nécessitant des changements fréquents d'adresse IP |
| Dynamic Residential (Entreprise) | Système de recherche distribué à grande échelle |
| Maisons statiques | Les entreprises qui ont besoin de connexions stables dans le temps |
Scène de renversement courante AQ
Q : Que dois-je faire si ma période d'enquête expire trop rapidement ?
R : L'édition entreprise de la résidence dynamique prend en charge la définition de la durée de survie de l'IP et il est recommandé de faire correspondre le mécanisme de réessai automatique du script.
Q : J'ai réussi le test mais je ne peux pas l'utiliser ?
R : Il se peut que le protocole ne corresponde pas, le proxy d'ipipgo supporte HTTP/HTTPS/SOCKS5, n'oubliez pas de modifier le paramètre proxies dans le code.
Q : Comment puis-je augmenter la vitesse d'acquisition ?
A : Fixer le délai d'attente de check_proxy à 8 secondes, et réorganiser les requêtes concurrentes avec le multithreading (attention à ne pas faire planter le site de détection).
La métaphysique de la sélection des paquets
Les données de test pour parler : faire la comparaison des prix des marchandises avec la version standard dynamique est suffisante pour faire le numéro de compte social doit être sur le résidentiel statique. L'année dernière, j'ai utilisé une certaine adresse IP prétendument bon marché, les résultats de la 50%IP sont des salles des machines diffusant de fausses résidences, le site sera exposé une fois la vérification effectuée.
Une fois que le double onze pour surveiller le prix des produits concurrents, compter sur ce programme pour économiser 2000 + les coûts de l'agent, les données sont encore plus précis qu'avant.

