zoukankan      html  css  js  c++  java
  • Python.Scrapy.12-scrapy-source-code-analysis-part-2

    Scrapy 源代码分析系列-2 signals, signalmanager, project, conf

    1. 模块: signals.py signalmanager.py project.py conf.py

    1.1 conf.py project.py

    conf.py 是废弃的模块。她的功能由crawler.settings代替。 来自conf.py的代码如下:

    1 if 'scrapy.cmdline' not in sys.modules:
    2     from scrapy.utils.project import get_project_settings
    3     settings = get_project_settings()
    4 
    5 import warnings
    6 from scrapy.exceptions import ScrapyDeprecationWarning
    7 warnings.warn("Module `scrapy.conf` is deprecated, use `crawler.settings` attribute instead",
    8     ScrapyDeprecationWarning, stacklevel=2)

    project.py 也是被废弃的模块。

    1.2 interfaces.py

    interfaces.py 定义了接口ISpiderManager, 接口方法如下:

    def create(spider_name, **spider_args): 创建一个新的Spider对象。

    def list(): 返回project中所有的spider。

    def find_by_request(request): 处理request的sipder列表

    该模块依赖: zope.interface (zope.interface), 关于该库另外进行分析。

    1.3 signals.py signalmanager.py

    signals.py 定义了一系列object类型的对象。

    signalmanager.py 定义类SignalManager来管理signal。该类依赖 dispatcher 和 signal: 

    1 from scrapy.xlib.pydispatch import dispatcher
    2 from scrapy.utils import signal

    那么需要分析子包: scrapy.xlib

    To Be Continued

    接下来分析模块: item.py link.py linkextractor.py log.py logformatter.py exceptions.py extension.py 

  • 相关阅读:
    2019 SDN上机第2次作业
    2019 SDN上机第1次作业
    第07组 团队Git现场编程实战
    第二次结对编程作业
    c语言之问题集
    2019春第2次课程设计实验安排
    2019年十二周总结
    第十一周总结
    第十周作业
    第九周总结
  • 原文地址:https://www.cnblogs.com/cwgk/p/4649154.html
Copyright © 2011-2022 走看看