为了账号安全,请及时绑定邮箱和手机立即绑定

练习:Web爬网程序-并发不起作用

练习:Web爬网程序-并发不起作用

Go
慕沐林林 2021-05-09 13:14:50
我正在经历golang之旅,并在最后一个练习中进行工作,以将网络爬虫更改为并行爬网,而不是重复爬网(http://tour.golang.org/#73)。我所更改的只是爬网功能。 var used = make(map[string]bool)    func Crawl(url string, depth int, fetcher Fetcher) {        if depth <= 0 {            return        }        body, urls, err := fetcher.Fetch(url)        if err != nil {            fmt.Println(err)            return        }        fmt.Printf("\nfound: %s %q\n\n", url, body)        for _,u := range urls {            if used[u] == false {                used[u] = true                Crawl(u, depth-1, fetcher)            }        }        return    }为了使其并发,我在对Crawl函数的调用之前添加了go命令,但是该程序没有递归调用Crawl函数,而是仅找到“ http://golang.org/ ”页面,而没有找到其他页面。将go命令添加到功能Crawl的调用中时,为什么程序无法正常工作?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信