美文网首页
scrapy middlerware中使用全局变量的另一种解决方

scrapy middlerware中使用全局变量的另一种解决方

作者: mutang | 来源:发表于2021-12-22 15:53 被阅读0次

    这里列出我搜到的,知乎的这个回答,挺好:
    https://www.zhihu.com/question/325290964

    不过不适合我,我自己又写了文章记录:
    scrapy中 统计器stats的使用、middlerware中获取stats和一个坑
    最终方式,使用python内置的环境变量:
    在启动方法中:

    from scrapy.cmdline import execute
    import os
    
    def run():
        os.environ['cache'] = '0'
        execute('scrapy crawl delay'.split())
    
    
    if __name__ == '__main__':
        run()
    在middlerware中使用:
    
        print('环境变量',os.environ['cache'])
        cache_ = os.environ['cache']
        os.environ['cache'] = str(int(cache_) + 1)
    

    输入:

    环境变量 0
    环境变量 1
    之所以,这么麻烦,是因为我需要middleware中获取全局变量。
    注意:环境变量的值,必须是字符串类型。

    相关文章

      网友评论

          本文标题:scrapy middlerware中使用全局变量的另一种解决方

          本文链接:https://www.haomeiwen.com/subject/oeiqqrtx.html