
¿Qué ocurre cuando un crawler choca con un mecanismo anti-crawler?
¡Recientemente, varios amigos que hacen la recopilación de datos se han quejado a mí que siempre se bloquean cuando se utiliza BeautifulSoup para analizar páginas web, que es algo que estoy familiarizado! El año pasado, cuando hice la herramienta de comparación de precios de comercio electrónico, me encontré, en ese momento durante tres días consecutivos por el sitio de destino para tirar del negro, ansioso me recta tirando del pelo.
Entonces encontré un truco...Rotación de IP proxyEs como cuando vas al supermercado a probar la comida, si siempre usas la misma cara. Es como cuando vas al supermercado a probar la comida, si siempre te frotas la cara de la misma manera, seguro que el dependiente te deja boquiabierto. Si te cambias de ropa y te pones una peluca cada vez, puedes tener unas cuantas rondas más. Proxy IP es este disfraz, deja que el sitio web piense que cada visita es un nuevo usuario.
¡Manos a la obra con el chaleco de BeautifulSoup!
He aquí un caso real: un sitio web de viajes sólo permite 30 visitas por hora. Con el siguiente código, con el servicio proxy de ipipgo, consigue con éxito la recogida de datos 24/7.
importar peticiones
from bs4 import BeautifulSoup
def obtener_página(url):
proxies = {
http': 'http://username:password@gateway.ipipgo.com:9020', 'https': 'http://username:password@gateway.ipipgo.com:9020'
https': 'http://username:password@gateway.ipipgo.com:9020'
}
try.
response = requests.get(url, proxies=proxies, timeout=10)
soup = BeautifulSoup(response.text, 'lxml')
Recuerda sustituir la lógica de análisis por la tuya propia
return soup.find_all('div', class_='precio-elemento')
except Exception as e.
print(f "Captura de error: {str(e)}")
return Ninguno
Mira el parámetro proxies allí.El nombre de usuario y la contraseña deben cambiarse por su propia clave registrada en ipipgo.Lo primero que tienes que hacer es conseguir un nuevo canal proxy. Su canal proxy soporta la sustitución automática de IP, sin tener que cambiar manualmente usted mismo, lo que es particularmente molesto.
Los rastreadores salen temprano del trabajo con una buena IP proxy.
Los servicios proxy en el mercado son desiguales, he comparado más de una docena de proveedores de servicios, y finalmente bloqueado ipipgo principalmente por estas razones:
| término de comparación | Agente general | ipipgo |
|---|---|---|
| Tiempo de supervivencia IP | 2-6 horas | 15-30 minutos cambio dinámico |
| capacidad de respuesta | 800-1200ms | Media 200ms |
| Grado de anonimato | Agente transparente | Agentes High Stash |
Unas palabras especiales de elogio para suFunción de enrutamiento inteligenteEs una gran manera de hacer coincidir automáticamente los nodos de servidor más rápidos. Una vez que corrí cinco scripts de rastreo al mismo tiempo, la carga del sistema es realmente menor que antes con otros proxies 40%.
Un escollo común para los recién llegados
P1: ¿Utilicé una IP proxy y aun así me bloquearon?
El nivel de anonimato puede no ser suficiente, elija un proxy de alta con el fin de ocultar la IP real. ipipgo's proxy pool son de grado empresarial de alta IP, pro-prueba efectiva.
QA 2: ¿Afecta la IP proxy a la velocidad de resolución?
Un buen proxy debería acelerar. Si se vuelve más lento, compruebe la ubicación geográfica del servidor proxy. Por ejemplo, si está rastreando un sitio web nacional, elija el nodo Hangzhou de ipipgo para que sea más de 10 veces más rápido que el nodo estadounidense.
P 3: ¿Tengo que mantener mi propio grupo de IP?
¡No estoy seguro si vas a ser capaz de hacer eso! Mantener el pool de IPs por ti mismo es puramente buscar el pecado. ipipgo actualiza 200,000+ IPs frescas cada día, una vez recolecté 18 horas continuas, el sistema automáticamente cambió más de 200 IPs, y todo el proceso no reportó ningún error.
Y por último.secreto antibloqueoEl hacha de tres puntas de control de la frecuencia de visitas + aleatoria User-Agent + IP proxy de alta calidad, el mecanismo anti-escalada de 90% se puede romper. Recientemente, ipipgo está haciendo 618 actividades, los nuevos usuarios para enviar flujo de 10G, sólo para practicar.

