Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 585936|Respuesta: 70

[Programa de consola] .net/c# El camino hacia la optimización de rastreadores web

  [Copiar enlace]
Publicado en 19/4/2018 14:21:02 | | | |
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 favorRespuesta

Puntuación

Número de participantes2MB+1 contribuir+2 Colapso razón
conntfs + 1 ¡Muy poderoso!
Un pequeño novato que le encanta aprender + 1 + 1 Apoya al propietario para que publique una buena publicación, ¡y yo también publicaré una buena publicación!

Ver todas las valoraciones





Anterior:Publican informes internacionales sobre la práctica de nuevos llegados
Próximo:.net/c# Tutorial del Sistema de Reconocimiento CAPTCHA de Nueva Generación 2.3
Publicado en 31/12/2019 10:48:25 |
Xiaobai no podía salir herida. ¿Existe algún software similar a la recopilación de big data con un solo clic?
Publicado en 10/6/2019 14:11:09 |
Xiaobai no podía salir herida. ¿Existe algún software similar a la recopilación de big data con un solo clic?
Publicado en 15/10/2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Publicado en 20/4/2018 12:35:21 |
Gracias por compartir
Publicado en 25/4/2018 11:33:55 |
Coleccionar, quizá útil.
Publicado en 17/5/2018 18:02:21 |
La colección de optimización del camino hacia el rastreador web
Publicado en 18/5/2018 16:10:57 |
oo
Publicado en 18/7/2018 14:43:07 |
Mira si funciona
Publicado en 20/7/2018 10:09:50 |
DADASDSADSAD
Publicado en 13/8/2018 13:06:50 |
Echa un vistazo a este código fuente
Publicado en 20/8/2018 14:00:52 |

Gracias por compartir
Publicado en 30/8/2018 11:42:26 |
Srkskrskrskrskrskrskr
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com