推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
gejun123456
V2EX  ›  Python

为啥 Python 爬虫这么火,相比 Java 爬虫有啥优势?

  •  
  •   gejun123456 ·
    gejun123456 · Jun 28, 2020 · 9662 views
    This topic created in 2321 days ago, the information mentioned may be changed or developed.

    java jsoup,多线程也方便,python 有哪些 java 爬虫没有的优势?

    48 replies  •  2024-08-16 09:01:23 +08:00
    tikazyq
    tikazyq
    Jun 28, 2020
    1
    动态语言做爬虫不香?
    lenqu
    lenqu
    Jun 28, 2020
    2
    用的人多,方便实现
    echo1937
    echo1937
    Jun 28, 2020 via iPhone
    3
    因为库多,搞起来方便,尤其是应付反爬这一块。
    imkuang
    imkuang
    Jun 28, 2020
    4
    写起来快
    Nich0la5
    Nich0la5
    Jun 28, 2020 via Android
    5
    开发快,而且爬虫是最不在乎运行效率的
    EminemW
    EminemW
    Jun 28, 2020
    6
    自己写爬虫用 Python 当然是因为写的快。
    em70
    em70
    Jun 28, 2020
    7
    目标经常变化,JAVA 花 1 周做个爬虫可能 3 天就不能用了,明显不合理,这方面动态语言优势明显

    当然如何是搜索引擎这种通用爬虫,JAVA 比 python 更适合
    catxo
    catxo
    Jun 28, 2020
    8
    我只知道我接手的一个 java 爬虫,刚启动就吃了 2G 内存,emmmmmm
    movistar
    movistar
    Jun 28, 2020
    9
    当你的爬虫在几百台机器上都跑满了 CPU,但是 QPS 也没多少,抓的没有别人更新的快的的时候,你就知道为什么要换 Java/Golang/C++跑爬虫了...
    CPU 比内存贵多了.大部分机器 CPU:内存都是 1:8 甚至 1:16 以上的.内存空着就是浪费了,超卖了也就 1:4
    当然大部分人的爬虫跑不了几台机器,也不是用来吃饭的家伙,当然什么好写用什么,没什么数据量的我也选 Python
    binux
    binux
    Jun 28, 2020 via Android
    10
    @movistar #9 带宽更贵
    limuyan44
    limuyan44
    Jun 29, 2020 via Android
    11
    爬虫从来都问题都不在语言上而在反爬上,至于为什么用 Python,纯粹是因为代码行数短或者说大部分人接触爬虫都是从 python 开始的。总而言之,对于普通人来说无非因为简单二字,一般网站几行代码就能爬到需要的数据。你要谈性能,一般人可碰不上。
    airqj
    airqj
    Jun 29, 2020 via Android
    12
    @movistar 什么爬虫用 cpp 来写?
    musi
    musi
    Jun 29, 2020❤️1
    13
    开发效率快,特别是对于那种经常更换反爬策略的,等你爬虫写完了别人也更新完了反爬策略你还爬个鸡儿
    alexkkaa
    alexkkaa
    Jun 29, 2020 via Android❤️1
    14
    crawler 和 spider 是不一样的 像那些全网爬不在乎个别网站是否能爬到的可以用静态语言。但是针对特定网站的 crawler 需要灵活迅速的跟对方打游击战,你用 java 黄花菜都凉了
    LokiSharp
    LokiSharp
    Jun 29, 2020 via iPhone
    15
    Python 是个人就能写了。。。
    cat9life
    cat9life
    Jun 29, 2020
    16
    Python 最大的优点就是简单好用,上手快,2 天入门几行代码就能跑起来,别跟我谈什么性能,大部分就是玩票的性质。要性能九别用 Python
    passerbytiny
    passerbytiny
    Jun 29, 2020 via Android
    17
    我是一个 java 开发,我现在轻易不想写代码。一个小功能就要动好几个源文件,还要写相对大量的单元测试代码,就算有 CI 还是感觉累。

    看上面的回复,怕虫是超高频变化的,用 java 真不合适。
    no1xsyzy
    no1xsyzy
    Jun 29, 2020
    18
    @movistar #9 你的误解大概是搞错了爬虫和蜘蛛。见 #14
    cweijan
    cweijan
    Jun 29, 2020
    19
    以前我看 python 爬虫很火就跟着写了个, 但发现维护起来实在头疼, 现在已经用 Java 重写了, 使用 webmagic 开发效率完全不输 python
    wysnylc
    wysnylc
    Jun 29, 2020
    20
    @cweijan #19 py 写爬虫纯粹是老手图简单快速新手只会 py,真要想长久发展不可能用动态类型的语言维护成本爆炸
    还有吹 py 包多的,java 笑抽
    namelosw
    namelosw
    Jun 29, 2020
    21
    爬虫这种东西需要反复调试,BS4 在 Console 里直接写,可以直接 body.div.h2.a.text,Java 写不难受嘛……

    而且爬虫这种一天一改的,Java 搞出来还给对方建模?不建模跟动态类型有什么区别?

    聊性能的不知道爬虫主要是 IO ?

    @wysnylc Py 现在可以加类型了
    wysnylc
    wysnylc
    Jun 29, 2020
    22
    @namelosw #21 任何一个要长久发展的项目都需要多人协作和更新维护,就 py 这技术氛围有几个能考虑后面事写的几乎都是"一次性"无法更新无法协作的代码
    还是那个老话,py 这类动态语言没有约束开发氛围散漫根本不适合大型项目只能做点胶水工作
    securityCoding
    securityCoding
    Jun 29, 2020
    23
    短平快
    XanderChen
    XanderChen
    Jun 29, 2020
    24
    一直认为 java 要装 jdk 来着?

    是不是要装,要装的话我选 python 。(手动狗头
    Rwing
    Rwing
    Jun 29, 2020
    25
    我用 C# 写爬虫 ┑( ̄Д  ̄)┍
    AlisaDestiny
    AlisaDestiny
    Jun 29, 2020
    26
    就凭 Python 可以开个交互式环境,写一点调试一点看下输出,Java 稍微改一点就要重新编译执行太累。
    LuJason
    LuJason
    Jun 29, 2020
    27
    我觉得爬虫就是营销号为了卖课而带火的
    geekeroro
    geekeroro
    Jun 29, 2020
    28
    优势就是方便……这么多现成的东西
    chniccs
    chniccs
    Jun 29, 2020
    29
    写起来快,改起来快,调试更快。运行快不快,大部分需求中倒是其次的
    qsbaq
    qsbaq
    Jun 29, 2020
    30
    开发快+1
    sidegem
    sidegem
    Jun 29, 2020
    31
    简单
    optional
    optional
    Jun 29, 2020
    32
    python 爬虫已经过去了, 现在用 js 写爬虫不香吗
    维护,typescript 了解一下。
    optional
    optional
    Jun 29, 2020
    33
    @wysnylc 动态类型不好维护? 我觉得 typescript 的维护性比 java 还高,java 经常改个类型改好几个文件(我是 java 开发)。
    79lawyer
    79lawyer
    Jun 29, 2020
    34
    @limuyan44 每次看到老哥头像都感觉在督促我减肥
    wuwukai007
    wuwukai007
    Jun 29, 2020
    35
    并不是 python 适合爬虫,是快速开发的场景( xxx )适合 python
    silkriver
    silkriver
    Jun 29, 2020 via Android
    36
    经常需要调参数和展示数据的场合,Jupyter Notebook 是神器
    cweijan
    cweijan
    Jun 29, 2020
    37
    @optional 其实是 py 不好维护, 编译没问题, 一运行就各种报错, js 相对来说稳定点, 不过用 js 类库显然是比不过 Java 的.
    murmur
    murmur
    Jun 29, 2020
    38
    语法简单,其实现在都是用 headless
    optional
    optional
    Jun 29, 2020
    39
    @cweijan 就爬虫而言,js 比不过 java ?不存在的。
    用 js 写,http request 不说了,html 解析各种 selector,headless chrome api 无缝兼容, 浏览器插件都可以直接写。
    drackzy
    drackzy
    Jun 29, 2020
    40
    python 爬的快,进监狱也快。
    ricardochrist
    ricardochrist
    Jun 29, 2020
    41
    全名 python 啊现在
    cweijan
    cweijan
    Jun 29, 2020
    42
    @optional 你可以看下 webmagic 这个库, 支持 xpath 和 css 选择器
    optional
    optional
    Jun 29, 2020
    43
    @cweijan java 肯定有,但是 js 会更多啊,甚至还能直接 eval 出来加密解密相关的 js
    krixaar
    krixaar
    Jun 29, 2020
    44
    有些时候写爬虫不需要那么兴师动众,路边拿铲子刨个坑的事儿不值得旁边选块地界建挖机工厂……
    WilliamYang
    WilliamYang
    Jun 29, 2020 via iPhone
    45
    @cweijan 其实 webmagic 都好像几年没更新了,不建议用,还不如用 scrapy
    jeeyong
    jeeyong
    Jun 29, 2020
    46
    早前 python 做爬虫, 是因为库多, 语法简单吧?
    现在你应该问, node 做爬虫香吗?
    香...正如 @optional 说的, 加解密的 js, 直接 eval 掉...甚至不知道哪段是负责加解密的?
    我直接全执行掉.........
    cwxcwx2018
    cwxcwx2018
    Jul 2, 2020
    47
    哪里可以学爬虫,苦于没有经验入手。(难道我的搜索关键词有问题)
    chaoschick
    chaoschick
    Aug 16, 2024
    48
    @airqj Google:虽然 Google 的爬虫(如 Googlebot )具体实现细节是机密的,但有报道称,Google 早期的基础设施中使用了大量 C++ 代码,这可能包括部分爬虫组件。
    Bing:类似地,微软的搜索引擎 Bing 也可能在其爬虫和索引系统中使用了 C++,因为微软的许多核心系统都是用 C++ 开发的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4772 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 176ms · UTC 08:21 · PVG 16:21 · LAX 00:21 · JFK 03:21
    ♥ Do have faith in what you're doing.