前言

之前写了一篇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. 20155339 Exp6 信息搜集与漏洞扫描
  2. labview创建.netdll设置多个输出_手把手以实例教你学LabVIEW编程,条件结构编程方法...
  3. 南京铁道学院计算机应用,南京铁道职业技术学院交通运营管理专业怎么样
  4. 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作
  5. ironpython调用c dll_IronPython脚本调用C#dll示例
  6. NumPy Cookbook 带注释源码 十一、NumPy 的底牌
  7. Hadoop基础-配置历史服务器
  8. 怎样把win7系统下的屏幕设置成护眼的非常柔和的豆沙绿色?
  9. JAVA日常优化---Guava缓存玩耍异步刷新
  10. Listen1 - 让你畅享全网音乐!你值得拥有!
  11. 道路施工安全智能预警
  12. WebService-WSDL报文解析
  13. Win10如何玩Win7自带的游戏
  14. 内网地址(私有地址、私有IP地址空间)
  15. java登录界面的实现(任何小白都可轻松实现)
  16. Qt:十六进制字符串和十六进制互转
  17. 几种常见开源软件授权协议
  18. php756中医,百人诈骗团伙冒充老中医微信钓鱼九千余人被骗
  19. java向手机号发送短信验证码
  20. 如何固化zynq程序

热门文章

  1. Ubuntu 20.04下使用rvm安裝Ruby
  2. 远程访问管家婆进销存
  3. php命名空间中的变量,namespace-php如何通过命名空间使用其他文件中的变量
  4. Exception和Raise的异常处理
  5. 考研二战,档案该如何存放
  6. 同事天天写垃圾代码,就没办法?
  7. Easyx小游戏制作教程
  8. 意大利养鸡场逾万只母鸡被闷死 业主被控虐杀动物
  9. 前端预览-Word(.docx)
  10. Skin++使用详解-使用方法及注意事项