Maison >développement back-end >Golang >Comment puis-je limiter l'ingestion de données dans les requêtes HTTP GET pour un scraping Web efficace ?

Comment puis-je limiter l'ingestion de données dans les requêtes HTTP GET pour un scraping Web efficace ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-22 19:54:14988parcourir

How Can I Limit Data Ingestion in HTTP GET Requests for Efficient Web Scraping?

Limiter l'ingestion de données dans les requêtes HTTP GET

Lors du scraping de pages HTML, il est crucial d'éviter une récupération excessive de données qui peut nuire à l'efficacité et aux performances. Pour résoudre ce problème, envisagez de limiter la quantité de données acceptées par les requêtes GET.

Solution : Utiliser io.LimitedReader

Le type io.LimitedReader permet aux développeurs de restreindre le quantité de données récupérées à partir d’une ressource donnée. Voici comment l'implémenter :

import "io"

// Limit the amount of data read from response.Body
limitedReader := &io.LimitedReader{R: response.Body, N: limit}
body, err := io.ReadAll(limitedReader)

Alternativement, la fonction io.LimitReader peut être utilisée pour obtenir le même résultat :

body, err := io.ReadAll(io.LimitReader(response.Body, limit))

En précisant la limite souhaitée (en octets), io.LimitedReader garantira que seule la quantité spécifiée de données est lue. Cela empêche l'application d'épuiser la mémoire ou d'être submergée par un excès de données.

Cette solution permet une récupération de données plus efficace et contrôlée lors du web scraping ou d'autres opérations basées sur HTTP, garantissant ainsi le maintien des performances et de la fiabilité.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn