Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 585936|Répondre: 70

[Programme Console] .net/c# Le chemin vers l’optimisation des robots d’exploration web

  [Copié le lien]
Publié sur 19/04/2018 14:21:02 | | | |
0x00

Un robot d’indexation de toile (également appelé araignée de toile, bot de toile, plus communément appelé chasseur de toile dans la communauté FOAF) est un programme ou un script qui extrait automatiquement des informations sur le World Wide Web selon certaines règles. D’autres noms moins couramment utilisés incluent fourmis, auto-index, simulateurs ou vers.

0x01

Pour faire simple, les robots d’exploration recueillent les données selon leurs propres règles, analysent les données capturées, puis obtiennent des données utiles pour eux-mêmes.

0x02

L’optimisation des robots d’indexation web peut être divisée en deux étapes :

1 : Optimiser lors du scraping des données ;

2 : Optimiser le traitement des résultats d’apprentissage ;

Aujourd’hui, nous parlons juste de l’optimisation dans le processus de scraping !

0x03

J’ai résumé quelques points sur l’optimisation dans le processus de crawling :

1 : Il peut être optimisé sur l’adresse physique, par exemple : le serveur de ressources cible est l’hôte Tencent Cloud à Shanghai, nous essayons de choisir le serveur dans la même région, c’est-à-dire celui de la région de Shanghai, ne choisissez pas celui de Pékin, Qingdao et d’autres régions, mais essayez aussi de choisir le serveur dans la même salle informatique IDC, nous savons que ce site de ressources est le serveur de Tencent Cloud, nous essayons de mettre le robot d’exploration sur le serveur Tencent Cloud, pas sur le serveur Alibaba Cloud !

2 : Choisissez un réseau stable et rapide, les crawlers ont généralement des exigences élevées en matière de qualité réseau, essayez de ne pas utiliser le réseau domestique, choisissez le réseau de l’entreprise ou achetez un serveur pour capturer les données.

3 : Choisissez un langage de crawler plus efficace, j’ai entendu dire que Python est meilleur pour les crawlers, mais je ne l’ai pas utilisé, et je le testerai plus tard, aujourd’hui, je l’explique principalement en .net.

0x04

Pour des choses comme l’achat rapide, les exigences pour la vitesse de saisie sont élevées, on peut décrire cela comme une question de temps, tôt pour obtenir les données, augmenter les chances de saisie ; voici que j’ai écrit une démo avec la console, le test de capture des données de ce site, comme montré dans la figure ci-dessous :


(Plus le temps est court, plus c’est rapide)

Le classement des données ci-dessus :1 : Code optimisé nativement, 2 : Code natif, 3 : DLL plug-in tiers (packages)

0x05

Pourquoi les plugins tiers (packages) prennent-ils le plus de temps ? Les plug-ins tiers sont en réalité un grand nombre d’encapsulations de code natif, un grand nombre de jugements logiques, et sont relativement polyvalents, ce qui peut entraîner une lenteur de l’exploration rapide.

Voici le code natif :



Le code natif n’est que quelques lignes au-dessus.Le temps moyen reste de 184 millisecondes,Plus le code est simple, plus il est difficile à optimiserPensez-vous que comment le code ci-dessus peut-il être optimisé pour atteindre un temps moyen de 99 millisecondes ?La différence de vitesse est doublée !

0x06

Si le serveur de ressources cible supporte la compression gzip, lorsque nous accédons au site web et que le navigateur le demande, l’en-tête de requête aura les paramètres suivants :

Paramètres de l’en-tête de réponse :






Introduction à « Accept-Encoding » : https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

En termes simples :

Le client déclare :Je supporte l’algorithme de compression « gzip, deflate, sdch, br », vous pouvez utiliser ce que vous voulez pour renvoyer des données.

Le serveur a déclaré :Je supporte l’algorithme de compression gzip, donc je vais utiliser l’algorithme gzip pour compresser les données vers vous

Le client déclare :D’accord, alors je vais déchiffrer les données reçues avec l’algorithme gzip

l’algorithme gzip, qui peut compresser les données transmises et réduire considérablement le contenu transmis, améliorant ainsi l’efficacité des requêtes, le code optimisé est le suivant :


Bien que ce soit un détail mineur, on peut dire que l’efficacité est doublée ! C’est équivalent aux données que vous avez collectées en deux jours, et maintenant elles peuvent être collectées en une seule journée, et cet article est dédié aux amis qui apprennent à ramper.

Note : L’algorithme de compression gzip n’a rien à voir avec le langage de programmation !

Enfin, joignez le code source :

Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaîtRépondre

Score

Nombre de participants2MO+1 contribuer+2 Effondrement raison
conntfs + 1 Très puissant !
Un petit novice qui adore apprendre + 1 + 1 Soutenez le propriétaire pour qu’il publie un bon post, et je publierai aussi un bon post !

Voir toutes les notes





Précédent:Des rapports internationaux de nouveaux arrivants en pratique sont publiés
Prochain:.net/c# Tutoriel du système de reconnaissance CAPTCHA de nouvelle génération 2.3
Publié sur 31/12/2019 10:48:25 |
Xiaobai ne pouvait pas être blessé. Existe-t-il un logiciel similaire à la collecte de big data en un clic ?
Publié sur 10/06/2019 14:11:09 |
Xiaobai ne pouvait pas être blessé. Existe-t-il un logiciel similaire à la collecte de big data en un clic ?
Publié sur 15/10/2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Publié sur 20/04/2018 12:35:21 |
Merci de partager
Publié sur 25/04/2018 11:33:55 |
Collection, peut-être utile.
Publié sur 17/05/2018 18:02:21 |
La collection d’optimisation de la route vers l’indexation Web
Publié sur 18/05/2018 16:10:57 |
oo
Publié sur 18/07/2018 14:43:07 |
Voyez si ça marche
Publié sur 20/07/2018 10:09:50 |
DADASDSADSAD
Publié sur 13/08/2018 13:06:50 |
Découvrez ce code source
Publié sur 20/08/2018 14:00:52 |

Merci d’avoir partagé
Publié sur 30/08/2018 11:42:26 |
srkskrskrskrskrskrskrskr
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com