chromedp abort request
chromedp ile crawling yaparken actigimiz sayfada bazi dosyalarin indirilmesini engellemek isteyebiliriz. Bu sayede resim, css ve javascript dosyalarinin indirilmesini engelleyerek bandwidth'den kar edebilir, analytics.js
gibi dosyalari engelleyerek farkedilirligimizi azaltabiliriz.
chromedp.ListenTarget(*ctx, BlockRequestURLIfMatch(*ctx, "analytics.js$")) err := chromedp.Run( *ctx, fetch.Enable(), chromedp.Navigate("....") ) func BlockRequestURLIfMatch(ctx context.Context, pattern string) func(event interface{}) { return func(event interface{}) { switch ev := event.(type) { case *fetch.EventRequestPaused: go func() { c := chromedp.FromContext(ctx) ctx := cdp.WithExecutor(ctx, c.Target) re := regexp.MustCompile(pattern) if re.FindString(ev.Request.URL) != "" { fetch.FailRequest(ev.RequestID, network.ErrorReasonBlockedByClient).Do(ctx) } else { fetch.ContinueRequest(ev.RequestID).Do(ctx) } }() } } }