golang 和python 在爬虫领域的优缺点对比

golang 和python 在爬虫领域的优缺点对比

python golang
并发 在爬虫中使用协程并发要看三方库是否支持,使用线程有全局解释性锁,使用进程太重了 golang的goroutine其实就是协程比线程更小,只要一个go 关键字就可以实现并发
领域 人工智能,数据处理,运维,自动化。这些热门领域的基础库中没有一个是和网络相关的,导致python 爬虫的重要基础请求库bug 重重,更新迭代慢等缺点 云计算,中间件,运维,web 服务。中间件和web服务 的不断发展使go 的网络基础库处于不断更新迭代中
基础库对http协议的支持 最高支持到http/1.1 最高支持到http2.0
请求库 封装过于臃肿,无法高度自定义需求 可以控制连接的每一个细节,自实现代理连接,自定义tls client hello 等
内存占用
cpu利用率
跨平台 如果依赖三方库需要三方库支持才能跨平台 交叉编译,极度方便
框架 爬虫框架众多 gospider 是一个golang 爬虫神器,拥有python到golang爬虫过渡的所有必需库
入门难度 难度低 go 的特性比python 少,语法糖比python 少,关键字比python少,导致go上手比python还快,且go 的高手写的代码和新手写的代码是一样的,代码极易维护

为什么网络相关的领域会影响爬虫呢?

拿python举例,python 的web 开发现在日落西山了,国内很多用python开发的网站有的用go开发,有的用其他语言开发。这必定会影响http 协议相关的库的发展。从github 上提的bug ,还有python 基础库现在还不支持http2.0 协议来看,发展的太慢了,爬虫使用请求库获取数据,由于协议上的漏洞很容易被反爬特别强网站发现,如:akamai,px 等

总结

对于爬虫来说golang 才是天选之子

gospider 介绍

gospider 是一个golang 爬虫神器,拥有python到golang爬虫过渡的所有必需库。用于python爬虫从业者快速且无坑的过渡到golang

安装

go get -u gitee.com/baixudong/gospider

gitee地址

https://gitee.com/baixudong/gospider

github地址

https://github.com/baixudong007/gospider

你可能感兴趣的:(python,golang,爬虫)