zoukankan      html  css  js  c++  java
  • 新版 Scrapy 中 sys.conf.settings 的替代方法

    新版 Scrapy 中 sys.conf.settings 的替代方法

    在 scrapy 项目目录下,有个 settings.py 文件,此文件是用来存放爬虫项目的各种配置,比如说 MongoDB 的服务器、端口号、数据库名等配置信息。

    既然是配置信息,就需要在别的文件中引用。比如在 settings.py 文件中增加了如下内容:

    MONGODB_HOST = '127.0.0.1'
    MONGODB_PORT = 27017
    MONGODB_DBNAME = 'maitian'
    MONGODB_DOCNAME = 'zufang'

    而在 pipelins.py 中想要引用该配置,在以前的版本中,使用方法应为:

    from scrapy.conf import settings
    
    host = settings['MONGODB_HOST']
    port = settings['MONGODB_PORT']
    db_name = settings['MONGODB_DBNAME']
    client = pymongo.MongoClient(host=host, port=port)
    db = client[db_name]
    self.post = db[settings['MONGODB_DOCNAME']]

    我电脑上的版本为 1.7.3 ,用上述引用方法报错,大概意思是没有 scrapy.conf 这个模块,在网上查了好久,发现在 1.7 版本之后,scrapy.conf 就被移除了,1.7 以后的版本里,正确使用 settings.py 中配置的方法为:

    from scrapy.utils.project import get_project_settings
    
    
    settings = get_project_settings()
    host = settings['MONGODB_HOST']
    port = settings['MONGODB_PORT']
    db_name = settings['MONGODB_DBNAME']
    client = pymongo.MongoClient(host=host, port=port)
    db = client[db_name]
    self.post = db[settings['MONGODB_DOCNAME']]

    即导入 get_project_settings 方法,该方法的返回值即是配置对象。

  • 相关阅读:
    SQLServer之删除用户自定义数据库用户
    Oracle expdp/impdp导出导入命令及数据库备份
    ORACLE EXP/IMP的使用详解
    《JAVA与模式》之抽象工厂模式
    Oracle中的Temporary tablespace的作用
    Oracle常用函数笔记
    java Map及Map.Entry详解
    LinkedHashMap和HashMap的比较使用
    win7 64系统安装oracle客户端使用PL/SQL Developer工具
    PL/SQL 创建视图语法
  • 原文地址:https://www.cnblogs.com/andy0816/p/15569491.html
Copyright © 2011-2022 走看看