Golang Go语言与Python开发高网络I/O(如爬虫)的优劣势比较?

发布于 1周前 作者 yibo5220 来自 Go语言

如题。假设 -> 理想条件下:对方无反爬虫机制,每日抓取一千万次。
Go 的协程概念挺好的,但我只是个初学者理解不深。
Python 的 Gevent 用起来也挺好,Pypy 对于 CPU 密集型速度也很棒。
Nodo 算了吧,写业务逻辑真心不喜欢层层回调,虽然大爱 Scheme。
(我是像说,回调和函数式在某些方面很像,但用来写大量业务逻辑我觉得不太适合)
于是乎,问大家它们各自的优缺点?


Golang Go语言与Python开发高网络I/O(如爬虫)的优劣势比较?

更多关于Golang Go语言与Python开发高网络I/O(如爬虫)的优劣势比较?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

15 回复

python方便得多。改一下随便跑。爬虫效率不是瓶颈,基本都能跑满水管

更多关于Golang Go语言与Python开发高网络I/O(如爬虫)的优劣势比较?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


go就算爬完,也没好的工具处理结果。

爬虫可以上python啊
python中也有协程~ gevent

用go.python很多历史包袱,一些主流的库不好用。

我跑股票数据就是golang,然后gosqlite存数据库,pandas处理很方便的。

python吧 库多 可以借鉴的也多

请教下。要获取600百多万台机器的80端口banner,python怎么搞。写了一个500线程,为什么扫出后的比50的差点

最近不小心在HN上看到程吨的黑Go的文章就不敢学Go了

最近闲着没事, 学了下 golang,并用 golang 写了两个爬虫练练手.

先[捂脸][捂脸]一个是爬极客学院的视频,靠着新用户注册有一天的试用 VIP,download 下所有的视频.100M 的带宽不到2个小时跑完.数据不到70G. 代码算上注释160多行.

另一个是遍历京东自营商品,初始化遍历耗时5个小时,之后的爬取最新价格,不到一个小时一轮,不到50行代码.(效率低的原因应该是京东有一些限制.还在找解决办法,愁.)

中间还写了两个秒杀软件,除了 QR CODE 没找到现成的第三方包.其他码起来超顺畅.

(PS:数据我都是直接简单转成 JSON 存硬盘…)

整体来说熟悉以后敲代码有种愉悦感,协程超简单啊,超简单…唯一不痛快的地方就是,资料相对来说少好多.资料查起来挺累的.

HN 是什么网站啊?

6666666666
爬京东的找到原因了,瓶颈在路由.渣路由扛不住大量的数据包吞吐量.
网线直插电脑.效率猛增10倍.初始化 40 分钟左右,初始会完以后,遍历一次京东自营商品当前价格只需要6分钟…
这次的平静像是网卡承受不了数据包的吞吐量…如果网卡再好点,效率还能更高点.

最近也打算用 go 搞搞这个,能分享一下或者搜索关键词么?

在开发高网络I/O应用(如爬虫)时,Golang(Go语言)与Python各有其独特的优劣势。

Golang的优势在于高性能和强大的并发处理能力。作为编译型语言,Golang的执行速度较快,能高效处理大量数据。其内置的goroutines和channels机制使得并发编程变得简单且高效,非常适合处理大量并发网络请求和数据解析任务。此外,Golang的内存管理和垃圾回收机制也相对高效,减少了内存泄漏和资源浪费的风险。

相比之下,Python的语法简洁明了,易于学习和上手,且拥有丰富的第三方库和框架支持,如requests、BeautifulSoup、Scrapy等,这些工具大大简化了爬虫的编写和调试过程。Python的多线程支持虽然受到全局解释器锁(GIL)的限制,但仍可通过多进程等方式实现并发处理。此外,Python的跨平台性好,代码可在多种操作系统上运行。

然而,Python作为解释型语言,其性能通常不如编译型语言,如Golang。在处理大规模数据或高并发请求时,Python爬虫可能会遇到性能瓶颈。此外,Python爬虫更容易触发网站的反爬虫机制,因为使用高级编程语言编写的爬虫相对容易被检测到。

综上所述,对于需要高性能和高并发处理能力的爬虫项目,Golang可能是更好的选择。而如果你需要快速开发原型或在爬虫项目中需要使用复杂的文本处理、数据分析等功能,Python可能更加合适。在选择编程语言时,应根据具体项目需求、性能要求、开发时间和团队熟悉度等因素综合考虑。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!