goquery 类似ruby的gem nokogiri

  goquery的选择器功能很强大,很好用。地址:https://github.com/PuerkitoBio/goquery

  这是一个糗百首页的爬虫程序

package mainimport ("fmt""log""net/http""strings""github.com/PuerkitoBio/goquery"
)func qiubai_parse() {res, err := http.Get("https://www.qiushibaike.com/hot/")if err != nil {log.Fatal(err)}defer res.Body.Close()if res.StatusCode != 200 {log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)}doc, err := goquery.NewDocumentFromReader(res.Body)if err != nil {log.Fatal(err)}array := make([]map[string]string, 100)doc.Find("#content-left .article ").Each(func(i int, s *goquery.Selection) {hash := make(map[string]string)url, _ := s.Find("a[class]").Attr("href")hash["link"] = "https://www.qiushibaike.com" + urlsub_res, _ := http.Get(hash["link"])sub_doc, _ := goquery.NewDocumentFromReader(sub_res.Body)hash["all_content"] = sub_doc.Find(".content").Text()like_num := s.Find(".likenum").Text()hash["like_num"] = strings.Replace(like_num, " ", "", -1)comment := s.Find(".main-text").Text()hash["comment"] = strings.Replace(comment, like_num, "", -1)fmt.Println(hash)array = append(array, hash)})fmt.Println(array)
}func main() {qiubai_parse()
}

  

转载于:https://www.cnblogs.com/wangyuyu/p/11358267.html

go语言 goquery爬虫相关推荐

  1. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)

    Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...

  2. 使用Python语言开发爬虫有什么优势?

    网络爬虫分为很多种,Python爬虫也是其中的一种,那么使用Python语言开发爬虫有什么优势呢?来看看下面的详细介绍. Python分享:使用Python语言开发爬虫有什么优势?截止到目前,网络爬虫 ...

  3. Go语言并发爬虫,爬取空姐网所有相册图片

    转载地址:Go语言中文网 说到爬虫,不得不提到我自己写的<Python网络爬虫requests.bs4爬取空姐网图片>,可以在我的csdn看到这篇文章.这个爬虫很简洁,使用requests ...

  4. go语言实现爬虫(爬两层)

    go语言实现爬虫(爬两层)–捧腹网 代码 package mainimport ("fmt""net/http""os""rege ...

  5. goquery爬虫Boss直聘信息

    title: goquery爬虫Boss直聘信息 tags: go,goquery author: Clown95 背景 Hello小伙伴们,在之前的文章中,我们对go的爬虫库goquery进行了简单 ...

  6. r语言html爬虫,如何用R语言爬取网页中的表格

    今天我们要讲怎么样用R写一个小的爬虫,来爬取网页中的表格.这里的网页指html页面.稍微百度一下大家就可以知道,html是一种高度结构化的文本标记语言.html表格所用的标签是 . 所以我们的思路大概 ...

  7. 【Go语言实战】(8) Go语言并发爬虫

    文章目录 写在前面 1. 单线程爬虫 2. 多线程爬虫 2.1 channel 2.2 sync.WaitGroup 3. 源码地址 写在前面 这篇文章主要让大家明白多线程爬虫,因为go语言实现并发是 ...

  8. 【C/C++】用C语言编写爬虫—爬虫程序优化要点

    写一个网络爬虫 用C语言来写一个网络爬虫,来获取一个网站上感兴趣的信息,抓取自己需要的一切. #include<cspider/spider.h>/* 自定义的解析函数,d为获取到的htm ...

  9. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...

    用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...

最新文章

  1. CONVERSION_EXIT_SDATE_OUTPUT
  2. Hibernate 中的DetachedCriteria。
  3. Centos7 安装gitlab 8.7.5
  4. Request的getParameter和getAttribute方法的差别
  5. LVS原理介绍及安装过程
  6. antv图例出现分页_图例-自定义文本样式
  7. 数据机构与算法:书籍介绍
  8. android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...
  9. Linux中vectormath无法通过pip安装的解决办法
  10. line-height在安卓机位置靠上
  11. python课堂点名_Python制作课堂点名器,原来还能这么玩!
  12. CSDN积分获取方法
  13. latex 如何添加圆圈数字?
  14. Vivado 使用方法
  15. my eclipse 破解通用步骤
  16. 【课程学习】(中国大学MOOC)武汉理工大学高级人工智能原理与技术课后习题笔记(1-5章)
  17. 【每日最爱一句】2013.06.10
  18. JS实现邮箱提示补全效果
  19. c语言禁用键盘,C/C++ 禁用鼠标键盘
  20. 显示空间——字符显示之矢量文字

热门文章

  1. ES6学习(十)—async 函数
  2. HTML和CSS实现品优购首页
  3. 刹车时到底要不要踩离合器?
  4. 人民币发行量比美元还大吗?
  5. 一个人越来越有潜力的3个迹象
  6. 房贷提前还款怎么还?
  7. Elasticsearch查询速度为什么这么快?
  8. 路由器太远手机接收不到信号怎么办?
  9. P1 Human Pose Estimation人体姿态综述估计调研
  10. JS基础--Date.parse(),Date.UTC()和Date.now()