首页 > 后端开发 > Golang > 正文

如何忽略打印达到最大深度限制 go colly

WBOY
发布: 2024-02-09 15:45:10
转载
677 人浏览过

如何忽略打印达到最大深度限制 go colly

php小编草莓今天为大家介绍一种方法,可以帮助我们在使用go colly爬虫框架时,忽略打印达到最大深度限制的问题。在爬取网页数据的过程中,我们通常会遇到结构嵌套较深的情况,而colly框架默认的打印深度限制可能无法完整展示所有数据。通过对colly框架的调试选项进行设置,我们可以轻松解决这个问题,获得更全面的数据展示。接下来,让我们一起来了解具体的操作步骤吧!

问题内容

我有一个 go colly 爬虫,我正在尝试爬行许多网站。在我的终端上它打印了很多:

2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
登录后复制

这让我很难阅读我放置的一些印刷品。我想知道是否有任何方法可以忽略在终端中打印此内容。谢谢

解决方法

达到最大深度限制colly.errmaxdepth。你的项目中必须有这样的代码:

c := colly.newcollector(colly.maxdepth(5))

// ...

if err := c.visit("http://go-colly.org/"); err != nil {
    log.println(err)
}
登录后复制

如果您不想记录此错误,请添加一个简单的检查来排除它:

c := colly.newcollector(colly.maxdepth(5))

// ...

if err := c.visit("http://go-colly.org/"); err != nil {
    // log the error only when the error is not errmaxdepth.
    if err != colly.errmaxdepth {
        log.println(err)
    }
}
登录后复制

另一个选项是将输出重定向到文件:

go run . 2>&1 >log.txt
登录后复制

或者使用 tee 将输出复制到文件并复制到标准输出:

go run . 2>&1 | tee log.txt
登录后复制

以上是如何忽略打印达到最大深度限制 go colly的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!