Optimisation de la consommation de données HTTP pour le scraping
Afin d'améliorer l'efficacité de vos opérations de scraping de données HTTP GET, il est important d'envisager la possibilité de rencontrer des URL délivrant des quantités substantielles de données. Pour vous prémunir contre cela, limitez la taille des données que la requête GET reçoit, évitant ainsi les goulots d'étranglement potentiels.
Solution : limiter la consommation de données avec io.LimitedReader
Heureusement, Go's io Le package fournit une solution pratique - io.LimitedReader. Il limite la quantité de données lues à partir d'un io.Reader fourni à une limite définie, interrompant ainsi la récupération des données une fois cette limite atteinte :
limitedReader := &io.LimitedReader{R: response.Body, N: limit} body, err := io.ReadAll(limitedReader)
Dans cet exemple, io.LimitedReader limite la quantité de données lues. du corps de la réponse HTTP à la limite spécifiée.
Vous pouvez également utiliser la fonction io.LimitReader pour obtenir le même résultat :
body, err := io.ReadAll(io.LimitReader(response.Body, limit))
En utilisant io.LimitedReader ou io.LimitReader, vous pouvez contrôler efficacement la quantité de données récupérées à partir des requêtes HTTP GET, évitant ainsi que votre scraper ne soit submergé par des données excessives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!