Amigo, ¿tu IP proxy es fiable o no?
Crawler viejo Zhang recientemente la cabeza es muy grande, las manos de los miles de proxy IP, con la apertura de una caja ciega como. Ayer acaba de ejecutar a través de la secuencia de comandos, hoy de repente huelga colectiva, tan enojado que dio una palmada en la mesa. Lo sé muy bien.Verificación por lotes de la supervivencia de IP proxy...sin duda, justo lo que necesita el grupo de recogida de datos.
¿Pruebas manuales? ¡Basta ya!
Al principio yo también estúpida prueba manual, abra el navegador uno por uno para perder proxy. Más tarde se encontró que este trabajo no es un trabajo humano - 200 IP de prueba, los ojos están mirando a la cadena. Lo peor es que algunas IPs parece que se puede conectar, pero en la práctica o el tiempo de espera o dejar caer los paquetes como un loco.
Método de ensayo | tomar un período de (x cantidad de tiempo) | precisión |
---|---|---|
controlado manualmente | 3 horas/100 | Alrededor de 60% |
Lote de guiones | 5 minutos/1000 | 95% y superior |
Escriba su propio detector
Aquí tienes una.Casos reales de Python, usando la librería requests + multithreading todo el trabajo. Presta atención a la sección de comentarios, ¡se trata de pisar baches!
import concurrent.futures importar peticiones Para enfrentarse al sitio, se recomienda probar con el nombre de dominio de su propia empresa TEST_URL = "http://www.baidu.com" TIMEOUT = 5 def comprobar_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 Leer la lista de IPs del fichero con open('lista_de_proxy.txt') como f. proxies = f.read().splitlines() Abrir 20 thread pools con concurrent.futures.ThreadPoolExecutor(20) como executor: results = executor.map(check_proxy, proxies) Seleccionar IPs válidas valid_ips = [ip for ip in results if ip] print(f "IPs supervivientes: {len(valid_ips)} ones")
Observe que hay unfoso oculto: No utilice sólo un tercero para probar el sitio, algunos sitios bloquearán las solicitudes de HF. Se recomienda utilizar sus propios nombres de dominio relacionados con el negocio, como lo hace el comercio electrónico con Jingdong Taobao prueba.
El programa de ahorro también depende de los servicios profesionales
Por muy guay que sea lanzar guiones por tu cuenta, te rascas la cabeza cuando se trata de estas pocas situaciones:
- Tamaño de la biblioteca IP de 100.000, el servidor no puede manejarlo
- Necesidad de medir parámetros avanzados como latencia, geolocalización, etc.
- Requiere una vigilancia continua de 24 horas
Es hora de ir directamente aServicio de inspección API de ipipgoEs de verdad. Su interfaz de inicio devuelve estos datos críticos:
{ "ip": "123.60.88.99", "puerto": 8080, "velocidad": 356ms, "expire_time": "2024-06-30" }
Tiempo de control de calidad (a menudo preguntan los veteranos)
P: ¿Qué puedo hacer si el script de detección funciona demasiado lento?
R: ¡No seas avaricioso con el número de hilos! Se recomienda controlar dentro de 50, de lo contrario es fácil de bloquear la red local. Realmente quiere hacer frente a los grandes datos, se recomienda utilizar ipipgo interfaz de detección asíncrona, 100.000 IP media hora.
P: ¿Dónde conseguir una IP proxy fiable?
A: Debe ser susceptible a mi propio hermanoipipgo. Su reserva de IP se actualiza a diario con 20%, con especial atención a las IP dedicadas.Detección Paquete IP, especialmente adecuado para escenarios que requieren una verificación de alta frecuencia.
P: ¿Falla siempre la detección de proxy HTTPS?
R: El 80% de las veces se trata de un problema de validación del certificado. En la solicitud de peticiones añadaverificar=False
pero esto no es seguro. Se recomienda utilizar directamente la interfaz de detección ya preparada de ipipgo, para ahorrar tiempo.
Una última palabra sincera:No pierda el tiempo con agentes basura.No estoy seguro de si vas a ser capaz de hacer eso. Con ese tipo de esfuerzo lanzando scripts alrededor, ¿por qué no conseguir un montón de IPs de calidad. algo como ipipgo puede proporcionar laInformes de disponibilidad en tiempo realLos proveedores de servicios que son verdaderas herramientas de productividad.