Beispiel #1
0
// 获取蜘蛛二级标识名
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
}
Beispiel #2
0
// 命名空间相对于数据库名,不依赖具体数据内容,可选
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)
}
Beispiel #3
0
// 请求的唯一识别码
func (self *Request) Unique() string {
	if self.unique == "" {
		self.unique = util.MakeHash(self.Spider + self.Rule + self.Url + self.Method)
	}
	return self.unique
}