登录
首页 >  Golang >  Go问答

优化go colly以避免打印达到最大深度限制

来源:stackoverflow

时间:2024-02-05 23:45:23 443浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《优化go colly以避免打印达到最大深度限制》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我有一个 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以避免打印达到最大深度限制》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>