关于settings.py在其他py文件中的调用
》scrpay框架中的settings.py中增加某个设置,那么如何在其他py中使用呢?
如下settings.py中,增加设置:
YOUR_SETTINGS = “xxx”
有以下两种解决办法
方法一:
》在每个需要调用该设置的py文件(middleware.py、pipelines.py等)中,进行导入。
from xxx.settings import YOUR_SETTINGS
方法二:
》在相应的py文件内部直接使用settings。
》注:[ middleware.py 和 pipelines.py 中的 spider,等同于 spider.py 中的 self ]
- spider.py:
class Spider(scrapy.Spider): def parse(self, response): # 以下两种写法都可以 self.settings['YOUR_SETTINGS'] self.settings.get('YOUR_SETTINGS')
- middleware.py:
def process_request(self, request, spider): # 以下两种写法都可以 spider.settings['YOUR_SETTINGS'] spider.settings.get('YOUR_SETTINGS')
- pipelines.py:
def process_item(self, item, spider): # 以下两种写法都可以 spider.settings['YOUR_SETTINGS'] spider.settings.get('YOUR_SETTINGS')