V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Feiox
V2EX  ›  Go 编程语言

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

  •  
  •   Feiox ·
    feiox · 2015-06-07 20:08:30 +08:00 · 2214 次点击
    这是一个创建于 3452 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    整体来说熟悉以后敲代码有种愉悦感,协程超简单啊,超简单..唯一不痛快的地方就是,资料相对来说少好多.资料查起来挺累的.
    est
        10
    est  
       2015-06-07 22:36:07 +08:00
    @1314258 用gevent呀。
    warlock
        11
    warlock  
       2015-06-08 11:45:27 +08:00
    @WildCat HN 是什么网站啊?
    xiaocsl
        12
    xiaocsl  
       2015-06-08 13:43:01 +08:00   ❤️ 1
    6666666666
    爬京东的找到原因了,瓶颈在路由.渣路由扛不住大量的数据包吞吐量.
    网线直插电脑.效率猛增10倍.初始化 40 分钟左右,初始会完以后,遍历一次京东自营商品当前价格只需要6分钟..
    这次的平静像是网卡承受不了数据包的吞吐量..如果网卡再好点,效率还能更高点.
    guotie
        13
    guotie  
       2015-06-08 16:45:36 +08:00
    golang
    13k
        14
    13k  
       2015-11-17 14:18:40 +08:00
    @xiaocsl 最近也打算用 go 搞搞这个,能分享一下或者搜索关键词么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1273 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:55 · PVG 01:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.