複数の URL から膨大な量のデータをスクレイピングする場合、過度に大きな応答によって行き詰まることを防ぐことが重要になります。 HTTP GET リクエスト中に読み取られるデータ量を制限する方法は次のとおりです。
読み取りバイト数の制限
受信バイト数を制御するには、io.LimitedReader を利用します。このリーダーは、返されるデータを指定されたバイト数に制限します。例:
limitedReader := &io.LimitedReader{R: response.Body, N: limit} body, err := io.ReadAll(limitedReader)
ここで、limit は読み取る最大バイト数です。
代わりに:
body, err := io.ReadAll(io.LimitReader(response.Body, limit))
どちらのアプローチでも達成できます。サーバーから取得するデータを制限しても同じ結果が得られます。
適切な制限を設定すると、これにより、スクレイピング操作が大量の応答でスタックすることがなくなり、データを効率的に処理できるようになります。
以上がHTTP GET リクエストのデータ過負荷を効率的に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。