0x00
Un rastreador de telarañas (también conocido como araña de telarañas, bot de telarañas, más comúnmente llamado chaser de telarañas en la comunidad FOAF) es un programa o script que extrae automáticamente información sobre la World Wide Web según ciertas reglas. Otros nombres menos usados incluyen hormigas, auto-índices, simuladores o gusanos.
0x01
En pocas palabras, los rastreadores obtienen datos según sus propias reglas, analizan los datos capturados y luego obtienen datos útiles para sí mismos.
0x02
La optimización de rastreadores web puede dividirse en dos etapas:
1: Optimizar al extraer datos;
2: Optimizar el procesamiento de los resultados de agarre;
¡Hoy hablamos solo de optimización en el proceso de scraping!
0x03
He resumido algunos puntos sobre la optimización en el proceso de rastreo:
1: Se puede optimizar en la dirección física, por ejemplo: el servidor de recursos objetivo es el host de Tencent Cloud en Shanghái, intentamos elegir el servidor en la misma región, es decir, el servidor en la región de Shanghái, no elegimos el servidor de Pekín, Qingdao y otras regiones, sino también el servidor en la misma sala de ordenadores IDC, sabemos que este sitio web de recursos es el servidor de Tencent Cloud, intentamos poner el rastreador en el servidor Tencent Cloud, ¡no en el servidor Alibaba Cloud!
2: Elige una red estable y rápida; en general, los rastreadores tienen altos requisitos de calidad de red, intenta no usar la red doméstica, elige la red de la empresa o compra un servidor para capturar datos.
3: Elige un lenguaje de rastreo más eficiente, he oído que Python es mejor para los rastreadores, pero no lo he usado y lo probaré más tarde, hoy lo explico principalmente en lenguaje .net.
0x04
Para cosas como compras rápidas, los requisitos para la velocidad de captura son altos, se puede describir como cuestión de tiempo, pronto para obtener los datos, aumentar la probabilidad de agarrar; a continuación, escribí una demo con la consola, la prueba de captura de los datos de esta web, como se muestra en la figura siguiente:
(Cuanto más corto es el tiempo, más rápido es)
La clasificación de datos anterior:1: Código optimizado nativamente, 2: Código nativo, 3: DLLs plug-in de terceros (paquetes)
0x05
¿Por qué los plugins de terceros (paquetes) tardan más? Los complementos de terceros son en realidad un gran número de encapsulaciones de código nativo, un gran número de juicios lógicos y son relativamente versátiles, lo que puede llevar a una velocidad de rastreo lenta.
Aquí está el código nativo:
El código nativo está solo unas líneas arriba.El tiempo medio sigue siendo de 184 milisegundos,Cuanto más sencillo es el código, más difícil es optimizarlo¿Crees que cómo se puede optimizar el código anterior para lograr un tiempo medio de 99 milisegundos?¡La diferencia de velocidad se ha duplicado!
0x06
Si el servidor de recursos objetivo soporta compresión gzip, cuando accedemos al sitio web y el navegador solicita el sitio web, la cabecera de la solicitud tendrá los siguientes parámetros:
Parámetros de cabecera de respuesta:
Introducción a la "Aceptación de Codificación": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding
En términos sencillos:
El cliente dice:Apoyo el algoritmo de compresión "gzip, flate, sdch, br", puedes usar lo que quieras al devolver datos.
El camarero dijo:Resulta que soporto el algoritmo de compresión gzip, así que usaré el algoritmo gzip para comprimir los datos hacia ti
El cliente dice:Vale, entonces descifraré los datos recibidos con el algoritmo gzip
El algoritmo gzip, que puede comprimir los datos transmitidos y reducir considerablemente el contenido transmitido, por lo que la eficiencia de las solicitudes mejorará, por lo que el código optimizado es el siguiente:
Aunque es un detalle pequeño, ¡se puede decir que la eficiencia se duplica! Es equivalente a los datos que recogiste en dos días, y ahora se pueden recopilar en un día, y este artículo está dedicado a amigos que aprenden a rastrear.
Nota: ¡El algoritmo de compresión gzip no tiene nada que ver con el lenguaje de programación!
Finalmente, adjunta el código fuente:
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
|