V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
harley27
V2EX  ›  Java

Java 做爬虫有没有什么比较牛的地方?

  •  
  •   harley27 · 2019-08-02 13:21:06 +08:00 · 8116 次点击
    这是一个创建于 1925 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在做爬虫的几乎全都是 pythonpythonpython
    甚至还有些接单的用易语言做(因为好学么?不明真相)
    如果用 Java 做的话会不会使客户觉得这个人比较超脱凡俗,比较靠得住……
    当然,我们这里还是讨论技术。不知道技术层面上用 Java 实现爬虫有没有什么特殊的好处
    31 条回复    2019-08-03 13:01:51 +08:00
    axwz88
        1
    axwz88  
       2019-08-02 13:36:09 +08:00 via Android
    python 写爬虫好处是工作量小,轮子也多,用 java 写爬虫和 python 实现的没太大区别,很多搜索引擎爬数据量特别大还要追求速度的用 c 和 c++写爬虫
    flyingghost
        2
    flyingghost  
       2019-08-02 13:40:27 +08:00   ❤️ 4
    java 做爬虫它牛就牛在爬虫业务两不误。
    招个 py 做完爬虫是开掉还是开掉呢?
    kaiccc
        3
    kaiccc  
       2019-08-02 13:52:59 +08:00
    @flyingghost 哈哈哈
    ddup
        4
    ddup  
       2019-08-02 13:54:40 +08:00
    搜索引擎爬虫就选 Nutch 大神作品。
    python 有个 GIL 全局锁,性能上有瓶颈,大规模爬行会吃不消。
    salamanderMH
        5
    salamanderMH  
       2019-08-02 13:55:02 +08:00
    我用 nodejs 写的,编译型语言( java,go 这些)工程化好一点
    zjyl1994
        6
    zjyl1994  
       2019-08-02 13:59:14 +08:00
    python 轮子多而已,java 并不会觉得靠得住,人家不会看语言的只要数据
    daozhihun
        7
    daozhihun  
       2019-08-02 14:07:47 +08:00
    做过爬虫的说一句。
    楼上说的对,老板 & 客户要的数据+准确性,人家才不管你用啥语言。
    况且爬虫最麻烦的地方是对付反爬,你得有一定的思路,语言倒是次要的。
    lihongjie0209
        8
    lihongjie0209  
       2019-08-02 14:15:41 +08:00
    语言无所谓, 关键是生态
    leopku
        9
    leopku  
       2019-08-02 14:27:04 +08:00 via Android
    @ddup 有道理,我选 go 系爬虫
    shuizhengqi
        10
    shuizhengqi  
       2019-08-02 14:31:36 +08:00
    说 GIL 全局锁的,这对爬虫有什么影响?爬虫主要是爬,又不是计算,这有什么吃不消的
    janxin
        11
    janxin  
       2019-08-02 14:31:45 +08:00
    码农不值钱?
    ben1024
        12
    ben1024  
       2019-08-02 14:42:32 +08:00
    主要是反爬的解决方案
    Mazexal
        13
    Mazexal  
       2019-08-02 14:47:53 +08:00
    java 不适合做爬虫, 强类型处理很容易报错..........
    HOU
        14
    HOU  
       2019-08-02 14:57:18 +08:00
    java + web-harvest + xpath,爬得很美
    hotcool100
        15
    hotcool100  
       2019-08-02 15:02:34 +08:00
    对不起,跟我走一趟,我是国家反爬局的……
    wysnylc
        16
    wysnylc  
       2019-08-02 15:44:51 +08:00
    强类型处理报错的了解下 optional
    java 做爬虫的话就在于分布式了,如果单机能做的爬虫任务没必要用 java
    java 爬虫推荐一个许雪里的 XXL-CRAWLER,链式编程一行代码一个爬虫!
    Cellei
        17
    Cellei  
       2019-08-02 16:13:39 +08:00
    Go 爬虫哪位大佬再给讲解下
    duanxianze
        18
    duanxianze  
       2019-08-02 16:19:18 +08:00
    @flyingghost 哈哈哈
    392039757
        19
    392039757  
       2019-08-02 16:28:25 +08:00
    没有好用的 java 爬虫框架,自己写轮子太难受
    cweijan
        20
    cweijan  
       2019-08-02 16:30:06 +08:00
    @392039757 webmagic
    1340976576
        21
    1340976576  
       2019-08-02 16:34:36 +08:00
    java 和 python 爬虫,我刚好都做过
    两者其实原理都是一样的,实现方式也都差不多,只是语法的差异,使得 python 更简洁,代码量更少。
    HivenYang
        22
    HivenYang  
       2019-08-02 16:37:47 +08:00
    @flyingghost 目测是个人才
    Fiona7heHuman
        23
    Fiona7heHuman  
       2019-08-02 17:24:20 +08:00
    @flyingghost 真相了哥
    MonoLogueChi
        24
    MonoLogueChi  
       2019-08-02 17:26:43 +08:00 via Android
    @Mazexal 说到强类型我就想到有一次拿 C#去重新实现一遍一个 js 写的 API,一写 object[]我心里就难受
    luozic
        25
    luozic  
       2019-08-02 17:37:48 +08:00 via iPhone
    反爬虫咋玩? python 轮子多上啥识别方案,Java 得现造不少轮子
    lihongjie0209
        26
    lihongjie0209  
       2019-08-02 17:41:22 +08:00
    @luozic #25 java rpc 直接调用 python 封装的库就可以了
    unicloud
        27
    unicloud  
       2019-08-02 17:45:05 +08:00 via iPhone
    没有
    spotfg
        28
    spotfg  
       2019-08-02 17:54:51 +08:00
    @flyingghost 不是增量型的爬虫,当然直接开了没事,遇到增量型爬虫,目标网站三天,两头变一次这开了,其他没有爬虫经验的能接手么……
    impl
        29
    impl  
       2019-08-03 01:11:19 +08:00 via Android   ❤️ 2
    Java 放个屁都要用个类包起来,Python 脱下裤子就干
    dai123456
        30
    dai123456  
       2019-08-03 11:45:27 +08:00
    python 相对来说容易上手一些,很多初学者都是使用的这种语言,但是也有很多大公司使用 java 的相对来说比较多,具体哪种更牛一些,个人理解要看你掌握技术的能力,两种语言都有利弊
    yinzhili
        31
    yinzhili  
       2019-08-03 13:01:51 +08:00
    用 java 做爬虫的话,便于整合到一些现有业务系统中去,因为好多现有的业务系统就是基于 java 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 08:38 · PVG 16:38 · LAX 00:38 · JFK 03:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.