为了账号安全,请及时绑定邮箱和手机立即绑定

GO 语言学习 goquery 学习采集齐装网所有装修公司数据

标签:
Go

思路

  1. 采集所有分站到本地 命名为 city_site.txt

  2. 采集分站后在采集所有分站下的分页列表地址到city_company_with_page.txt

  3. 采集完分页后在进行采集所有分页列表下的数据进行数据库入库

  4. 采集入库后根据采集后的数据库入库地址进行分别采集详情里面的数据内容

    第一步:采集所有分站到本地 命名为 city_site.txt

package step

import (
   "github.com/PuerkitoBio/goquery"
   "fmt"
   "os"
   "strings"
)

//读取所有的城市分站
func GetAllCitySites() {
   fd,_:=os.OpenFile("data/city_site.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0644)
   citySiteUrl := "http://www.qizuang.com/city/"
   query, err := goquery.NewDocument(citySiteUrl)
   if err != nil {
      panic(err)
   }
   query.Find(".tab-con-item").Eq(1).Find(".span1").Each(func(i int, s *goquery.Selection) {
      // 遍历每个节点,查找对应内容
      prov := s.Find("span").First().Text() //省份
      s.Find("a").Each(func(i int, selection *goquery.Selection) {
         // 遍历每个节点,查找对应内容
         href, _ := selection.Attr("href")
         text := selection.Text()
         fd_content:=strings.Join([]string{prov," ",text," ",href,"\n"}," ")
         buf:=[]byte(fd_content)
         fd.Write(buf)
      })
   })
   fmt.Println("==========分站链接全部抓取完成==============")
   fd.Close()
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
1
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消