问一下 Go 和 Python 开发高网络 I/O (如爬虫)的优劣势比较?

2015-06-07 20:08:30 +08:00
 Feiox

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

2249 次点击
所在节点    Go 编程语言
14 条回复
est
2015-06-07 20:10:06 +08:00
python方便得多。改一下随便跑。爬虫效率不是瓶颈,基本都能跑满水管
loading
2015-06-07 20:12:30 +08:00
go就算爬完,也没好的工具处理结果。
crazyxin1988
2015-06-07 20:12:39 +08:00
爬虫可以上python啊
python中也有协程~ gevent
facat
2015-06-07 20:13:34 +08:00
用go.python很多历史包袱,一些主流的库不好用。
bigtan
2015-06-07 20:14:16 +08:00
我跑股票数据就是golang,然后gosqlite存数据库,pandas处理很方便的。
assassinpig
2015-06-07 21:18:43 +08:00
python吧 库多 可以借鉴的也多
1314258
2015-06-07 21:45:56 +08:00
@est 请教下。要获取600百多万台机器的80端口banner,python怎么搞。写了一个500线程,为什么扫出后的比50的差点
WildCat
2015-06-07 21:48:43 +08:00
最近不小心在HN上看到程吨的黑Go的文章就不敢学Go了
xiaocsl
2015-06-07 22:21:56 +08:00
最近闲着没事, 学了下 golang,并用 golang 写了两个爬虫练练手.

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

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

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

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

整体来说熟悉以后敲代码有种愉悦感,协程超简单啊,超简单..唯一不痛快的地方就是,资料相对来说少好多.资料查起来挺累的.
est
2015-06-07 22:36:07 +08:00
@1314258 用gevent呀。
warlock
2015-06-08 11:45:27 +08:00
@WildCat HN 是什么网站啊?
xiaocsl
2015-06-08 13:43:01 +08:00
6666666666
爬京东的找到原因了,瓶颈在路由.渣路由扛不住大量的数据包吞吐量.
网线直插电脑.效率猛增10倍.初始化 40 分钟左右,初始会完以后,遍历一次京东自营商品当前价格只需要6分钟..
这次的平静像是网卡承受不了数据包的吞吐量..如果网卡再好点,效率还能更高点.
guotie
2015-06-08 16:45:36 +08:00
golang
13k
2015-11-17 14:18:40 +08:00
@xiaocsl 最近也打算用 go 搞搞这个,能分享一下或者搜索关键词么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/196751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX