// 获取蜘蛛二级标识名 func (self *Spider) GetSubName() string { self.once.Do(func() { self.subName = self.GetKeyin() if len([]rune(self.subName)) > 8 { self.subName = util.MakeHash(self.subName) } }) return self.subName }
// 命名空间相对于数据库名,不依赖具体数据内容,可选 func (self *Collector) namespace() string { if self.Spider.Namespace == nil { if self.Spider.GetKeyword() == "" { return self.Spider.GetName() } if len([]rune(self.Spider.GetKeyword())) > 10 { return self.Spider.GetName() + "__" + util.MakeHash(self.Spider.GetKeyword()) } return self.Spider.GetName() + "__" + self.Spider.GetKeyword() } return self.Spider.Namespace(self.Spider) }
// 请求的唯一识别码 func (self *Request) Unique() string { if self.unique == "" { self.unique = util.MakeHash(self.Spider + self.Rule + self.Url + self.Method) } return self.unique }