前言

之前写了一篇scrapy和golang爬虫性能对比,引起了很大的争议(就是被各位大佬喷的很惨的意思)。其中,很多人提了数据库读写的问题,看到大家的评论后不久我又测了一下,把写数据库的那部分代码注释掉后,速度瞬间就快了。当时由于没时间详细的测试,就把文章撤了下来,最近我抽时间吧代码整了一下,有了个新的测试,确实是数据的问题,各位可以看看。

上一篇文章的情况

爬虫的来历是因为团队需要一批公司名称的语料,先是用scrapy搭建了一个爬虫,后面又抱着一种试一试的心态用golang复现了一个同样的爬虫,对比了一下爬取速度,scrapy版本的和golang版本的最终差距很大,当时就很奇怪,做了个记录发到知乎上来了,当时的情况对比如下。

我详细的说明一下情况,线程池方面,scrapy底层用的twisted,默认是16个concurrent requests,至于这里是线程实现还是协程实现我就不计较了。golang是goroutine,是golang自己实现的一个东西。在爬取约650w完整数据集的时候,scrapy是采用默认设置,golang是自己实现了一个job/worker模型,设了个20个worker,相当于一个worker用一个goroutine,代码放在gayhub上。后来我又取了个较小的数据量,大约100页,即2.5w行数据,然后将scarpy和golang的worker数都设为16对比了一下,这就是这四列数据的来历。

另外,还需要说明一下爬取的目标,爬取目标是一个工商登记企业汇总的

python爬虫和golang爬虫性能对比_Scrapy VS Golang 爬虫对比(修正)相关推荐

  1. Python 爬虫:单线程、多线程和协程的爬虫性能对比

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 Python免费学习资料 ...

  2. Python爬虫:单线程、多线程和协程的爬虫性能对比!

    大家好,我是漆柒七7! 首先见面礼 Python学习大礼包 点击领取 然后今天我要给大家分享的是如何爬取豆瓣上深圳近期即将上映的电影影讯,并分别用普通的单线程.多线程和协程来爬取,从而对比单线程.多线 ...

  3. Python爬虫:单线程、多线程和协程的爬虫性能对比

    今天我要给大家分享的是如何爬取豆瓣上深圳近期即将上映的电影影讯,并分别用普通的单线程.多线程和协程来爬取,从而对比单线程.多线程和协程在网络爬虫中的性能. 具体要爬的网址是:https://movie ...

  4. Python爬虫:单线程、多线程和协程的爬虫性能对比!异步才是永远滴神!

    然后今天我要给大家分享的是如何爬取豆瓣上深圳近期即将上映的电影影讯,并分别用普通的单线程.多线程和协程来爬取,从而对比单线程.多线程和协程在网络爬虫中的性能. 具体要爬的网址是:https://mov ...

  5. python 爬虫 scrapy 和 requsts 哪个快_Scrapy爬虫框架结构以及和Requests库的比较

    爬虫框架 *爬虫框架是实现爬虫功能的一个软件结构和功能组件集合 *爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫 Scrapy爬虫框架结构 "5+2"结构 Spiders(用户 ...

  6. python 爬虫框架对比_几种爬虫框架效果分析,python最好爬虫框架是哪一种?

    爬虫可以用不同的语言编写,而且爬虫框架也多,比如python,简单易学,也是有不同的爬虫框架,python最好爬虫框架是哪一种呢?这些爬虫框架都有什么优缺点? 一.爬虫框架使用对比分析 多学习爬虫的框 ...

  7. Python 爬虫工程师必看,深入解读字体反爬虫

    字体反爬虫开篇概述 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这 ...

  8. python爬虫工资高吗_月薪2万的爬虫工程师,Python需要学到什么程度?

    Python 爬虫学到什么样就可以找工作了? 非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也 ...

  9. Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云)

    Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云) 学习目标 获取网络数据Socket API接口 网络爬虫Crawler(制 ...

最新文章

  1. [转]MySQL修改时区的方法小结
  2. lopa分析_【风险分析方法】HAZOP、LOPA和FMEA三种分析方法,如何做到信息共享?...
  3. Php在线字体woff转svg,在线字体格式转换ttf/otf/eot/woff/woff2格式工具
  4. Python命令行之旅:使用argparse实现git命令
  5. 【Linux】/etc/sysconfig/i18n文件详解
  6. 如何通过 反射 调用某个对象的私有方法?
  7. .NET 开源项目 StreamJsonRpc 介绍[上篇]
  8. 在WinCE中实现Screen Rotation(屏幕旋转)
  9. 【Python 必会技巧】获取字典中(多个)最大值(value)的键(key)
  10. 金山手机控usb调试模式开启工具_话筒坏了无法连麦?一招手机秒变电脑麦克风...
  11. 在 F5 LTM 上配置数据包过滤
  12. mosquitto源码分析(二)
  13. js检查关闭浏览器方法
  14. 计算机数学英语基础,计算机数学基础教程 2012年版
  15. iOS视频播放器MPMoviePlayerController
  16. 流式上传文件到服务器磁盘,通过HTTP将数据从浏览器流式传输到服务器的方法...
  17. Modbus协议简单总结
  18. 云服务到底是什么东西?
  19. 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】倍增lca
  20. 图标照旧的效果_这不是而且不能成为“一切照旧”

热门文章

  1. STM32定时器[直接用寄存器]
  2. 基于SSM的在线学习平台-JAVA【毕业设计、论文、源码、开题报告】
  3. C语言 判断是否为闰年 1900不是闰年
  4. JavaScript立即执行函数报错--立即执行函数原理分析
  5. node.js 立即执行函数
  6. winform控件之DateTimePicker
  7. 全球及中国扑克牌行业需求现状及十四五前景展望报告2022年版
  8. 金立手机权限开启方法3
  9. caffe2 windows安装
  10. 排序专题——6.桶排序