Optimierung des HTTP-Datenverbrauchs für Scraping
Um die Effizienz Ihrer HTTP-GET-Daten-Scraping-Vorgänge zu verbessern, ist es wichtig, diese Möglichkeit in Betracht zu ziehen dass Sie auf URLs stoßen, die erhebliche Datenmengen liefern. Um sich davor zu schützen, begrenzen Sie die Datengröße, die die GET-Anfrage empfängt, und verhindern Sie so potenzielle Engpässe.
Lösung: Begrenzen des Datenverbrauchs mit io.LimitedReader
Glücklicherweise ist Go's io Paket bietet eine praktische Lösung - io.LimitedReader. Es begrenzt die Datenmenge, die von einem bereitgestellten io.Reader gelesen wird, auf einen definierten Grenzwert und unterbricht effektiv den Datenabruf, sobald dieser Grenzwert erreicht ist:
limitedReader := &io.LimitedReader{R: response.Body, N: limit} body, err := io.ReadAll(limitedReader)
In diesem Beispiel begrenzt der io.LimitedReader die gelesenen Daten vom Hauptteil der HTTP-Antwort bis zum angegebenen Grenzwert.
Alternativ können Sie die Funktion io.LimitReader verwenden, um dasselbe zu erreichen Ergebnis:
body, err := io.ReadAll(io.LimitReader(response.Body, limit))
Durch die Verwendung von io.LimitedReader oder io.LimitReader können Sie die Menge der von HTTP-GET-Anfragen abgerufenen Daten effektiv kontrollieren und so verhindern, dass Ihr Scraper mit übermäßigen Daten überlastet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-GET-Anfragen optimieren, um eine Überlastung meines Data Scrapers zu verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!