V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
JCZ2MkKb5S8ZX9pq
V2EX  ›  Python

[不懂就问] Scrapy 这类框架到底好在哪里?

  •  
  •   JCZ2MkKb5S8ZX9pq · 2019-07-17 10:26:30 +08:00 · 3267 次点击
    这是一个创建于 1738 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 刚开始写爬虫的时候用过一两个项目,那时候基本啥都不懂,就用现成的。
    • 现在基本是直接 requests 加清洗入库。
    • 感觉清洗入库的操作都差不多,scrapy 主要是完成啥工作了?
    • 多线,报错处理,ip 池,这些也都自己写了。
    • 想请教下 Scrapy 到底有啥特别之处吗?想看看有没有能吸收改善的,或者要不要再转 Scrapy。
    11 条回复    2019-07-17 18:50:00 +08:00
    Vegetable
        1
    Vegetable  
       2019-07-17 10:36:43 +08:00   ❤️ 1
    框架就是做了框架的事情,这怎么说呢,你提到转 scrapy,意味着爬虫对你来说是主要工作?那你能完全不用 scrapy 也是头很铁。
    因为使用框架开发速度会快很多,比如分布式部署,你难道手撸一个基于 redis 的调度系统吗?
    还有中间件,shell 一些工具,都能提高效率。
    基于 scrapy 开发,关注点都是数据,基于 requests,你要自己积累很多写好的代码片段,自己写很多基础功能。
    chengxiao
        2
    chengxiao  
       2019-07-17 10:38:34 +08:00
    你自己都说了 多线 报错处理 ip 池 要是自己不写 顺手就用呢?
    还有调度部署也是 scarpy 的优点之一 县城的 scrapyd 轮子很多 方便多机部署和调度
    Takamine
        3
    Takamine  
       2019-07-17 10:41:00 +08:00
    至少在配置,爬取,数据清洗,数据入库做了很清晰的分层。
    这是一个要健康成长的项目必须的。
    fhy1994
        4
    fhy1994  
       2019-07-17 10:49:02 +08:00
    框架肯定有框架的好处 就比如支持 Middleware、分布式、日志
    当然这些你也可以自己实现 用框架就不用自己折腾
    公司一个项目用到 城市影院、电影场次排片 用 Scrapy 写爬虫 加 Scrapyd 部署成微服务 贼舒服
    xpresslink
        5
    xpresslink  
       2019-07-17 13:49:14 +08:00
    就两个字:省事
    爬虫大多是一次性或短期项目,讲求个短平快。
    爬虫最大的技术难度在于突破反爬机制。各种方案经常是要改换调整的。
    agdhole
        6
    agdhole  
       2019-07-17 14:25:09 +08:00 via Android
    好处是省事,坏处是不省事
    locoz
        7
    locoz  
       2019-07-17 15:33:39 +08:00
    好处是在特定条件下省事,框架就是把开发者觉得可以复用、很烦的那些部分都整合好了,对于框架可适用的方面,使用者可以只写个核心的部分能跑起来,不需要写多余的代码。比如你只是爬几个简单的新闻网站,用 scrapy 这类框架就可以无视掉很多事情,只需要把解析的部分写出来就能用了。
    坏处是在特定条件下不省事,由于框架本身都有优劣势场景,对于不适用的方面可能就会出现特殊需求无法满足,虽然理论上来讲可以基于框架扩展,但有些需求基于框架进行扩展会很复杂,所以这种情况下用框架还不如自己写。
    snoopy1024
        8
    snoopy1024  
       2019-07-17 16:14:02 +08:00 via iPhone
    为何不直接看 scrapy 的源码? 你不就明白差别在哪儿了么?
    julyclyde
        9
    julyclyde  
       2019-07-17 17:59:30 +08:00
    不用也行啊
    回头你的工作经验从具体案例中剥离出来,就是另一个 scrapy
    ice2neet
        10
    ice2neet  
       2019-07-17 18:19:11 +08:00
    省事啊 框架的作用不就是节省工作吗
    leopku
        11
    leopku  
       2019-07-17 18:50:00 +08:00 via Android
    高级语言及框架到底好在哪?现在基本是直接汇编自己写。

    想请教下高级语言及各种框架到底有啥特别之处吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3492 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:37 · PVG 18:37 · LAX 03:37 · JFK 06:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.