第二步 :采集分站后在采集所有分站下的分页列表地址到city_company_with_page.txt
package main import ( "fmt" "io/ioutil" "strings" "strconv" "github.com/PuerkitoBio/goquery" "os" ) func main () { dataPath := "data/city_site.txt" content, err := ioutil.ReadFile(dataPath) if err != nil { panic(err) } //读取所有的内容 str := string(content) citys := strings.Split(str, "\n") //保存所有city映射地址的连接 cityUrls := map[string]string{} for _, city := range citys { cityUrl := strings.Split(city, " ") cityUrls[cityUrl[1]] = cityUrl[2]+"/company/" } var index int = 0 var pagelasturl string = "" fd, _ := os.OpenFile("data/city_company_with_page.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644) for _, cityUrl := range cityUrls { pageurl := cityUrl+"?p=" for { index++ temp := strconv.Itoa(index) pagelasturl = pageurl + temp doc, _ := goquery.NewDocument(pagelasturl) h := doc.Find(".page a").Last().Text() if h != "下一页" { index = 0 fmt.Println("采集最后一页"+pagelasturl) fd.WriteString(pagelasturl + "\n") //其他分页先入库 break } if index == 1{ fmt.Println("采集到本地"+cityUrl) fd.WriteString(cityUrl + "\n") //其他分页先入库 }else{ fmt.Println("采集到本地"+pagelasturl) fd.WriteString(pagelasturl + "\n") //其他分页先入库 } temp = "" pagelasturl = "" } } }
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦