本文整理汇总了Golang中github.com/PuerkitoBio/gocrawl.URLContext类的典型用法代码示例。如果您正苦于以下问题:Golang URLContext类的具体用法?Golang URLContext怎么用?Golang URLContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了URLContext类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Visit
func (this *ExampleExtender) Visit(ctx *gocrawl.URLContext, res *http.Response, doc *goquery.Document) (interface{}, bool) {
// fmt.Println("visit url: ", ctx.URL(), "state: ", ctx.State)
fmt.Printf("\"%v\",\n", ctx.URL())
fmt.Printf("\t%T\t%+v\n", doc, doc)
// urls := processLinks(doc)
links := make(map[*url.URL]interface{})
// i, _ := ctx.State.(int)
// nextDepth := i - 1
// if nextDepth <= 0 {
// return nil, false
// }
// for _, u := range urls {
// links[u] = nextDepth
// }
return links, false
}
开发者ID:cleesmith,项目名称:golang_learning,代码行数:16,代码来源:crawl_depth2_show_links.go
示例2: Filter
func (this *ExampleExtender) Filter(ctx *gocrawl.URLContext, isVisited bool) bool {
// fmt.Println("filter url: ", ctx.URL(), "state: ", ctx.State, "isVisited: ", isVisited, "ctx.IsRobotsURL(): ", ctx.IsRobotsURL())
if ctx.SourceURL() == nil {
ctx.State = DEPTH
return !isVisited
}
if ctx.State != nil {
i, ok := ctx.State.(int)
if ok && i > 0 {
return !isVisited
}
} else {
fmt.Println("ctx.state nil, ctx.sourceURL: ", ctx.SourceURL())
}
return false
}
开发者ID:cleesmith,项目名称:golang_learning,代码行数:16,代码来源:crawl_depth2_show_links.go
示例3: Visit
func (self *CustomExtender) Visit(ctx *gocrawl.URLContext, res *http.Response, doc *goquery.Document) (interface{}, bool) {
fmt.Println(ctx.NormalizedURL().String())
db := GetConn()
mIns, err := db.Prepare("INSERT INTO mz(photo_href, photo_thumb_src, photo_large_src, photo_public_src, people_href) VALUES( ?, ?, ?, ?, ? )") // ? = 占位符
if err != nil {
panic(err.Error())
}
defer mIns.Close() // main结束是关闭
//fmt.Println(doc.Find(".photo_wrap").Text())
doc.Find(".photo_wrap").Each(func(i int, s *goquery.Selection) {
// For each item found, get the band and title
// fmt.Println(s.Find("a").First().Attr("title"))
// fmt.Println(s.Find("a").First().Attr("href"))
// fmt.Println(s.Find("img").First().Attr("src"))
var photo_href, photo_thumb_src, photo_large_src, photo_public_src, people_href string
photo_href = first(s.Find("a").First().Attr("href")).(string)
photo_thumb_src = first(s.Find("img").First().Attr("src")).(string)
people_href = first(s.Find("a").First().Attr("title")).(string)
_, err = mIns.Exec(photo_href, photo_thumb_src, photo_large_src, photo_public_src, people_href)
// 执行插入
if err != nil {
panic(err.Error())
}
})
// if rxGrep.MatchString(ctx.NormalizedURL().String()) {
// // print problem title
// fmt.Println(doc.Find("h1").Text())
// }
// defer db.Close()
return nil, true
}
开发者ID:huanghua581,项目名称:mei,代码行数:42,代码来源:main.go
示例4: Filter
func (e *Ext) Filter(ctx *gocrawl.URLContext, isVisited bool) bool {
if isVisited {
return false
}
if ctx.URL().Host == "github.com" || ctx.URL().Host == "golang.org" || ctx.URL().Host == "0value.com" {
return true
}
return false
}
开发者ID:alee88,项目名称:gocrawl,代码行数:9,代码来源:main.go
示例5: Filter
// Override Filter for our need.
func (x *ExampleExtender) Filter(ctx *gocrawl.URLContext, isVisited bool) bool {
return !isVisited && rxOk.MatchString(ctx.NormalizedURL().String())
}
开发者ID:PuerkitoBio,项目名称:gocrawl,代码行数:4,代码来源:examples_test.go
示例6: Filter
func (self *CustomExtender) Filter(ctx *gocrawl.URLContext, isVisited bool) bool {
// fmt.Println(ctx.NormalizedURL().String())
return !isVisited && rxOk.MatchString(ctx.NormalizedURL().String())
}
开发者ID:huanghua581,项目名称:mei,代码行数:4,代码来源:main.go
示例7: Visit
func (e *Ext) Visit(ctx *gocrawl.URLContext, res *http.Response, doc *goquery.Document) (interface{}, bool) {
fmt.Printf("Visit: %s\n", ctx.URL())
return nil, true
}
开发者ID:alee88,项目名称:gocrawl,代码行数:4,代码来源:main.go
注:本文中的github.com/PuerkitoBio/gocrawl.URLContext类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论