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
featureoverload
V2EX  ›  Python

scrapy 部署之后是怎么和后台管理传递信息的?

  •  
  •   featureoverload · 2021-11-09 11:09:56 +08:00 · 2421 次点击
    这是一个创建于 1129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    (多个) scrapy 的脚本通过 scrapyd 部署之后,如果也使用了后台管理如 scrapydweb ,

    那具体的 scrapy 和 scrapydweb 是怎么传递信息的

    比如传递 scrapy 抓取了 N 个 items ,parse 了 M 个 pages

    scrapy 向 scrapydweb 发送消息?还是 scrapydweb 向发送 scrapy 请求?

    这样的传递消息是怎么实现的。

    6 条回复    2021-11-09 16:23:20 +08:00
    Kobayashi
        1
    Kobayashi  
       2021-11-09 15:06:18 +08:00 via Android   ❤️ 1
    我记得就是解析 scrapy 爬虫输出。好像作者依赖一个叫做 logparser 的库,也是自己写的。没研究过如何实现的。
    featureoverload
        2
    featureoverload  
    OP
       2021-11-09 15:50:08 +08:00
    @Kobayashi 嗯,是有一个 logparser 库的东西。

    不过还想了解除了 log 含有的信息之外,还有没有其它消息传递。
    Kobayashi
        3
    Kobayashi  
       2021-11-09 15:59:39 +08:00   ❤️ 1
    可能没有,从名字看就是解析输出做统计。

    ScrapydWeb 管理已经是这方面做的最好的。
    崔庆才自己书里推荐的 Gerapy 完全就是狗屎,运行连个错误输出都没有,运行不起来你都无法调试。而且项目就是半成品,还没有实现完全 scrapyd 所有 API ,星都是靠书的流量拉的小白点的,绝对没有人生产中用。
    Crawlab 没有采用 scrapyd 运行爬虫,基本就是直接管理命令行进程。因为没有采用 Scrapy 官方推荐的 scrapyd ,没有尝试过,不确定有没有这方面功能,有兴趣你可以看看它怎么做的。估计即便作了也是输出解析。

    我记得 Scrapy 只会运行过程中利用 telnet 与运行的进程做交互,理论上可以直接获取进程中的一部分信息。但没听说过有人这么做。
    lshu
        4
    lshu  
       2021-11-09 16:19:29 +08:00   ❤️ 1
    继承或者自定义类似“scrapy.extensions.logstats.LogStats”的扩展,定时将其属性中的“stats”序列化,然后通过 api 等操作保存到数据库提供其他服务查询
    lithium4010
        5
    lithium4010  
       2021-11-09 16:23:00 +08:00
    可以直接写数据库?
    996635
        6
    996635  
       2021-11-09 16:23:20 +08:00   ❤️ 1
    twisted 监听了信号量做处理, 同时内部 extension 还实现了一个 tcp server 可以通过通信, 抓了多少 是内部维护了个计数器, 默认是内存计数
    具体看 https://github.com/scrapy/scrapy/tree/master/scrapy/extensions
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:20 · PVG 22:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.