赞
踩
colly一款快速优雅的golang爬虫框架,简单易用,功能完备。
colly 官网地址:http://go-colly.org/
colly github地址:github.com/gocolly/colly
colly 到目前为止有16500个赞
特性
示例代码:
- func main() {
- c := colly.NewCollector()
-
- // Find and visit all links
- c.OnHTML("a[href]", func(e *colly.HTMLElement) {
- e.Request.Visit(e.Attr("href"))
- })
-
- c.OnRequest(func(r *colly.Request) {
- fmt.Println("Visiting", r.URL)
- })
-
- c.Visit("http://go-colly.org/")
- }
使用方式概括下来主要有三步:
创建采集器时可以指定一些配置参数,如useragent,爬取深度及日志等
- colly.NewCollector(colly.UserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"),
- colly.MaxDepth(1),
- colly.Debugger(&debug.LogDebugger{}))
回调函数共有7种
名称 | 说明 | 参数1 | 参数2 |
---|---|---|---|
OnRequest | 请求前调用 | *colly.Request | |
OnError | 请求发生错误时调用 | *colly.Response | error |
OnResponseHeaders | 收到响应头后调用 | colly.Response | |
OnResponse | 收到响应后调用 | colly.Response | |
OnHTML | 响应内容是HTML时调用 | xpath表达式 | func(e *colly.HTMLElement) |
OnXML | 响应内容是XML时调用 | xpath表达式 | func(e *colly.XMLElement) |
OnScraped | 在OnXML之后调用 | func(r *colly.Response) |
colly,让我相信爬虫除了用python,我们用golang也是一个不错的选择。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。