示例#1
0
func (s *Searcher) GetDataFromPage(urlName string, spider *configure.Spider) (KeyData, error) {
	if urlName == "" {
		return nil, fmt.Errorf("URL's name can't empty!")
	}
	// contentName is a slice
	contentNames := spider.GetContentNames(urlName)

	// 初始化用于保存结果的map
	data := make(KeyData, len(contentNames))
	for _, name := range contentNames {
		// 获取每一个名字对应的正则表达式
		re := spider.GetContentValue(urlName, name)
		// 将匹配到的内容匹配到对应的名称下
		data[name] = re.FindAllStringSubmatch(s.Html, -1)
	}
	return data, nil
}