Open PIGfaces opened 2 years ago
crawlergo默认会阻断图片的请求,减少静态资源访问,现在看来这个会导致页面异常
是否可以这样做,我测试是可行的,但不知道有没有其他后果:
func (tab *Tab) Start() {
// ...
if err := chromedp.Run(*tab.Ctx,
RunWithTimeOut(tab.Ctx, tab.config.DomContentLoadedTimeout, chromedp.Tasks{
//....
// 在这里进行阻断
network.SetBlockedURLS(config.StaticSuffix),
//....
// 执行导航
chromedp.Navigate(tab.NavigateReq.URL.String()),
}),
func (tab *Tab) InterceptRequest(v *fetch.EventRequestPaused) {
//...
// 删除此处逻辑
// 静态资源 全部阻断
// https://github.com/Qianlitp/crawlergo/issues/106
// if config.StaticSuffixSet.Contains(url.FileExt()) {
// _ = fetch.FailRequest(v.RequestID, network.ErrorReasonBlockedByClient).Do(ctx)
// req.Source = config.FromStaticRes
// tab.AddResultRequest(req)
// return
// }
//...
}
问题描述
当我在爬取 目标站点:
https://19.offcn.com/
的时候有些链接爬不全,关闭无头模式打开 chrome 开发者工具时发现有访问失败的请求再不断地重复提交导致其他请求被阻塞,导致整个页面渲染超时而导致漏爬正常打开时的控制台
crawlergo 无头模式爬取的控制台
复现步骤
版本
551acb2b75403985493b56414d797ce5a1da480f
1.39.122 Chromium: 102.0.5005.115 (正式版本) (arm64)
执行的命令
期望表现
实际表现
<DIV>
没有渲染而漏抓正常打开可以快速加载完成,使用 crawlergo 加载时间太长,这是个 bug 吗,已关闭了所有代理