问题内容
我有一个例子,我应该访问多个链接并从中提取信息。问题是,当我使用“colly.Visit(URL)”时,我的访问量会增加。
示例:
package main import ( "fmt" "github.com/gocolly/colly" ) func main() { CATETORIES := []string{ "cate1", "cate2", "cate3", } c := colly.NewCollector() for _, cate := range CATETORIES { c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting categories", r.URL) }) c.Visit(cate) } }
这将打印:
Visiting categories http://cate1 Visiting categories http://cate2 Visiting categories http://cate2 Visiting categories http://cate3 Visiting categories http://cate3 Visiting categories http://cate3
我尝试在每次迭代后初始化 colly,效果很好 – 然后顺序是:访问类别 http://cate1、访问类别 http://cate2、访问类别 http://cate3
但这样做我会失去我的登录会话..
有什么建议吗?
正确答案
您正在为每个循环迭代添加一个新OnRequest
处理程序。在循环外配置处理程序:
func main() { CATETORIES := []string{ "cate1", "cate2", "cate3", } c := colly.NewCollector() c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting categories", r.URL) }) for _, cate := range CATETORIES { c.Visit(cate) } }
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Go Colly – 在 for 循环中访问 URL
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Go Colly – 在 for 循环中访问 URL