首页 >后端开发 >Golang >如何忽略打印达到最大深度限制 go colly

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

WBOY
WBOY转载
2024-02-09 15:45:10726浏览

如何忽略打印达到最大深度限制 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删除