package paser

import (
	"learngo/crawler/engine"
	"regexp"
)

/**
城市列表解析器
*/
const cityListRe = `<a href="(http://www.zhenai.com/zhenghun/[0-9a-z]+)"[^>]*>([^<]+)</a>`

func ParseCityList(contents []byte) engine.ParserResult {
	re := regexp.MustCompile(cityListRe)
	mastches := re.FindAllSubmatch(contents, -1) // 0 是 整条路径 ，1 路径 ，2 名称
	//fmt.Printf("查找%s 城市",len(mastches))
	result := engine.ParserResult{}
	for _, m := range mastches {
		// 把城市名做为返回值，加入items 中
		result.Items = append(result.Items, string(m[2]))
		result.Requests = append(
			result.Requests, engine.Request{
				Url:        string(m[1]),
				ParserFunc: engine.NilParser,
			})
		//fmt.Printf("City: %s ,URL: %s\n",m[2],m[1])
	}
	return result
}
