Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Kaola = &Spider{ Name: "考拉海淘", Description: "考拉海淘商品数据 [Auto Page] [www.kaola.com]", EnableCookie: false, RuleTree: &RuleTree{ Root: func(ctx *Context) { ctx.AddQueue(&request.Request{Url: "http://www.kaola.com", Rule: "获取版块URL"}) }, Trunk: map[string]*Rule{ "获取版块URL": { ParseFunc: func(ctx *Context) { query := ctx.GetDom() lis := query.Find("#funcTab li a") lis.Each(func(i int, s *goquery.Selection) { if i == 0 { return } if url, ok := s.Attr("href"); ok { ctx.AddQueue(&request.Request{Url: url, Rule: "商品列表", Temp: map[string]interface{}{"goodsType": s.Text()}}) } }) }, }, "商品列表": { ParseFunc: func(ctx *Context) { query := ctx.GetDom() query.Find(".proinfo").Each(func(i int, s *goquery.Selection) { if url, ok := s.Find("a").Attr("href"); ok { ctx.AddQueue(&request.Request{ Url: "http://www.kaola.com" + url, Rule: "商品详情", Temp: map[string]interface{}{"goodsType": ctx.GetTemp("goodsType", "").(string)}, }) } }) }, }, "商品详情": { ItemFields: []string{ "标题", "价格", "品牌", "采购地", "评论数", "类别", }, ParseFunc: func(ctx *Context) { query := ctx.GetDom() title := query.Find(".product-title").Text() price := query.Find("#js_currentPrice span").Text() brand := query.Find(".goods_parameter li").Eq(0).Text() from := query.Find(".goods_parameter li").Eq(1).Text() discussNum := query.Find("#commentCounts").Text() ctx.Output(map[int]interface{}{ 0: title, 1: price, 2: brand, 3: from, 4: discussNum, 5: ctx.GetTemp("goodsType", ""), }) }, }, }, }, }
考拉海淘,海外直采,7天无理由退货,售后无忧!考拉网放心的海淘网站!
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.