爬取斗鱼直播颜值区直播封面图片代码实现:

工作流程:

1. 明确目标 Url2. 发送请求,获取应答数据包。 http.Get(url)3. 过滤 数据。提取有用信息。 4. 使用、分析得到数据信息。
```go
package mainimport ("fmt""strconv""net/http""io""regexp""os"
)func SaveImg(idx int, url string, page chan int)  {path :="C:/itcast/img/" + strconv.Itoa(idx+1) + ".jpg"f, err := os.Create(path)if err != nil {fmt.Println(" http.Get err:", err)return}defer f.Close()resp, err := http.Get(url)if err != nil {fmt.Println(" http.Get err:", err)return}defer resp.Body.Close()buf := make([]byte, 4096)for {n, err2 := resp.Body.Read(buf)if n == 0 {break}if err2 != nil && err2 != io.EOF {err = err2return}f.Write(buf[:n])}page <- idx
}func main()  {url := "https://www.douyu.com/g_yz"// 爬取 整个页面,将整个页面全部信息,保存在resultresult, err := HttpGet(url)if err != nil {fmt.Println("HttpGet err:", err)return}// 解析编译正则ret := regexp.MustCompile(`data-original="(?s:(.*?))"`)// 提取每一张图片的 urlalls := ret.FindAllStringSubmatch(result, -1)page := make(chan int)n := len(alls)for idx, imgURL := range alls {//fmt.Println("imgURL:", imgURL[1])go SaveImg(idx, imgURL[1], page)}for i:=0; i<n; i++ {fmt.Printf("下载第 %d 张图片完成\n", <- page)}}
// 获取一个网页所有的内容, result 返回
func HttpGet(url string) (result string, err error) {resp, err1 := http.Get(url)if err1 != nil {err = err1return}defer resp.Body.Close()buf := make([]byte, 4096)for {n, err2 := resp.Body.Read(buf)if n == 0 {break}if err2 != nil && err2 != io.EOF {err = err2return}result += string(buf[:n])}return
}

Golang实现并发版网络爬虫:斗鱼直播颜值区直播封面图片爬取并保存文件相关推荐

  1. Golang实现并发版网络爬虫:豆瓣-电影名人数评分爬取并保存文件

    爬取豆瓣电影信息: 双向爬取: 横向:以页为单位.纵向:以一个页面内的条目为单位. 横向: https://movie.douban.com/top250?start=0&filter= 1 ...

  2. Golang实现并发版网络爬虫:捧腹网段子爬取并保存文件

    爬取捧腹网段子 url分页分析 https://www.pengfu.com/xiaohua_1.html 1 下一页+1 https://www.pengfu.com/xiaohua_2.html ...

  3. Python网络爬虫数据采集实战:同花顺动态网页爬取

    前文的爬虫都建立在静态网页基础之上,首先通过请求网站url获取到网页源代码.之后对源代码进行信息提取进而存储即可,本文则针对动态网页进行数据采集,首先介绍Ajax相关理论,之后实战爬取同花顺动态网页, ...

  4. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  5. Python3网络爬虫开发实战,使用IP代理爬取微信公众号文章

    前面讲解了代理池的维护和付费代理的相关使用方法,接下来我们进行一下实战演练,利用代理来爬取微信公众号的文章. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...

  6. 【Python网络爬虫实战篇】使用selenium+requests爬取下载高清源视频:关于爬取m3u8文件链接解析为ts视频合并成mp4视频的分析实战

    这两天博主在摸鱼时,偶然间接触到了流媒体的概念,一时间来了兴致.再加上之前博主有着七.八年的视频制作经验,深知视频素材获取的不易.因此,打算利用自己所学的python网络爬虫的知识,通过编写代码实现获 ...

  7. Python网络爬虫实战1:百度新闻数据爬取

    目录 一.  获取网页源代码 1.  四行代码获取(有时不灵) 2. 五行代码获取(常用方法) 二.分析网页源代码信息 方法1:F12方法 方法2:右击选择"查看网页源代码" 方法 ...

  8. Python实践 - 网络爬虫笔记 - 2、从网站上爬取公开信息

    Python实践笔记 - 2.从网站上爬取公开信息 张板书的Python的实践笔记,包括笔记与DeBug的经历. 为了完成一个比较麻烦的实习任务,尝试着做了这样一个爬虫项目. 任务要求之一是要检索安徽 ...

  9. Python网络爬虫(四):selenium+chrome爬取美女图片

    说明: Python版本:Python IDE:PyCharm chrome版本:我的版本63 chromedriver.exe:因为是模拟浏览器访问,chrome需要再下载一个驱动,具体方式在我的上 ...

最新文章

  1. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xm
  2. linux中shell变量$#,$@,$0,$1,$2的含义解释(转)
  3. UNIX环境高级编程——线程
  4. 对linux下loop设备的理解。
  5. 使用easyui框架的时候,js和css样式都加载了,但是图标加载不了
  6. 用visio制作机柜服务器,visio 绘制机柜接线图 实例教程
  7. 小程序啦啦外卖、码科跑腿、云贝外卖各种问题汇总解决对策
  8. lammps后处理:Python调用Ovito模块配置方法
  9. 数字图像处理第五章——图像复原与重建
  10. 我从Python新手到大师的百天之路(内附学习资源)
  11. 词干提取(stemming)和词形还原(lemmatization)比较
  12. 整活小能手!Windows系统滑动关机!一行脚本实现炫酷效果
  13. c语言速算24课程设计,C语言速算24数据结构课程设计.doc
  14. 这些带斑点的蛇实在太漂亮了,盘点18种带斑点的蛇
  15. 如何在柿饼派中用mqtt接收数据并进行解析
  16. CPU 基本工作原理和概念
  17. ldd 执行结果:不是动态可执行文件
  18. P330工作站装linux,联想ThinkStation P330工作站装win7系统及bios设置教程(支持usb)
  19. ETSI开源MANO发布首个版本
  20. Tuscany SCA软件架构设计理念分析鉴赏 (一)

热门文章

  1. 网络游戏装备是计算机数据,DNF装备搭配计算器_17173DNF专区_17173.com中国游戏门户站...
  2. KMP(b中有几个a)
  3. 嘚吧嘚java的发展历史
  4. php懒人,关于php懒人函数的详细介绍
  5. GeoHash代码实现--java
  6. 做好SEO必备的三步骤
  7. (目标检测)①数据集的建立(拍摄收集、数据集标注)
  8. 2020第十一届蓝桥杯国赛JAVA B组真题解析(带源码及解析)
  9. java 15k,广州-Java高级-15k-22k(月薪)
  10. wifi的sta + ap模式