写在前面

多线程爬虫
ip被封python

这次我们可以试试新玩法,试试go语言的并发爬虫。

主要是爬取第一页的商品,爬取十次,比较单线程和多线程的时间。

1. 单线程爬虫

 定义一个用户

主函数

爬取函数

651.8207ms

2. 多线程爬虫

2.1 channel main函数

我们构造一个无缓冲的通道,来阻塞主进程,等待子进程的执行。

最后记得在爬虫的结束的时候,把值写入到通道中,不然会一直阻塞主进程

187.7921ms

2.2 sync.WaitGroup

定义一个进程组并加10个进程

开辟十个goruntime

阻塞主进程

64.5246ms

3. 源码地址

GitHub地址:https://github.com/CocaineCong/Go-Spider-Demo

其实多线程的两种都差不多的,只是有时候会因为机器的原因而导致一些误差。

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。