go语言 goquery爬虫
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爬虫相关推荐
- Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...
- 使用Python语言开发爬虫有什么优势?
网络爬虫分为很多种,Python爬虫也是其中的一种,那么使用Python语言开发爬虫有什么优势呢?来看看下面的详细介绍. Python分享:使用Python语言开发爬虫有什么优势?截止到目前,网络爬虫 ...
- Go语言并发爬虫,爬取空姐网所有相册图片
转载地址:Go语言中文网 说到爬虫,不得不提到我自己写的<Python网络爬虫requests.bs4爬取空姐网图片>,可以在我的csdn看到这篇文章.这个爬虫很简洁,使用requests ...
- go语言实现爬虫(爬两层)
go语言实现爬虫(爬两层)–捧腹网 代码 package mainimport ("fmt""net/http""os""rege ...
- goquery爬虫Boss直聘信息
title: goquery爬虫Boss直聘信息 tags: go,goquery author: Clown95 背景 Hello小伙伴们,在之前的文章中,我们对go的爬虫库goquery进行了简单 ...
- r语言html爬虫,如何用R语言爬取网页中的表格
今天我们要讲怎么样用R写一个小的爬虫,来爬取网页中的表格.这里的网页指html页面.稍微百度一下大家就可以知道,html是一种高度结构化的文本标记语言.html表格所用的标签是 . 所以我们的思路大概 ...
- 【Go语言实战】(8) Go语言并发爬虫
文章目录 写在前面 1. 单线程爬虫 2. 多线程爬虫 2.1 channel 2.2 sync.WaitGroup 3. 源码地址 写在前面 这篇文章主要让大家明白多线程爬虫,因为go语言实现并发是 ...
- 【C/C++】用C语言编写爬虫—爬虫程序优化要点
写一个网络爬虫 用C语言来写一个网络爬虫,来获取一个网站上感兴趣的信息,抓取自己需要的一切. #include<cspider/spider.h>/* 自定义的解析函数,d为获取到的htm ...
- c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...
用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...
最新文章
- CONVERSION_EXIT_SDATE_OUTPUT
- Hibernate 中的DetachedCriteria。
- Centos7 安装gitlab 8.7.5
- Request的getParameter和getAttribute方法的差别
- LVS原理介绍及安装过程
- antv图例出现分页_图例-自定义文本样式
- 数据机构与算法:书籍介绍
- android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...
- Linux中vectormath无法通过pip安装的解决办法
- line-height在安卓机位置靠上
- python课堂点名_Python制作课堂点名器,原来还能这么玩!
- CSDN积分获取方法
- latex 如何添加圆圈数字?
- Vivado 使用方法
- my eclipse 破解通用步骤
- 【课程学习】(中国大学MOOC)武汉理工大学高级人工智能原理与技术课后习题笔记(1-5章)
- 【每日最爱一句】2013.06.10
- JS实现邮箱提示补全效果
- c语言禁用键盘,C/C++ 禁用鼠标键盘
- 显示空间——字符显示之矢量文字