Go爬虫小项目

import (
	"fmt"
	"log"
	"net/http"

	"github.com/PuerkitoBio/goquery"  //想安装第三方库(go get         
                                      //github.com/PuerkitoBio/goquery) 
)

func main() {
	authors := "https://so.gushiwen.org/authors"    //找到目标的url
	res, err := http.Get(authors)                   // 获取返回的html
	if err != nil {
		panic(err)

	} else {
		print("success")
	}

	defer res.Body.Close()

	if res.StatusCode != 200 {                        //判断状态码是不是200
		log.Fatalf("statys code error : %d %s", res.StatusCode, res.Status)
	}

	doc, err := goquery.NewDocumentFromReader(res.Body)   //取出text 文件

	if err != nil {
		fmt.Errorf("doc err ", err)
	}
                                                         //并且按需要的内容提取
	doc.Find(".sons").Find(".cont").Find("a").Each(func(i int, s *goquery.Selection) {
		author := s.Text()
		fmt.Printf("%d author =%s \n", i, author)
		link, _ := s.Attr("href")
		fmt.Printf("%d link = %s \n", i, link)
	})
}

编译结果输出结果如下正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值