美文网首页
在命令行中给 Spider 传递参数

在命令行中给 Spider 传递参数

作者: Traim | 来源:发表于2016-12-14 16:22 被阅读930次

Sometimes 不能在代码里把任务网址写死,需要动态传参给 spider ,以适应任务需求

  • 首先得定义一个 __init__ 函数。用于接收参数

    import scrapy
    
    class TestSpider(Scrapy.Spider):
        def __init__(self, arg=None):
            if arg is None:
                self.arg = 0
            else:
                self.arg=arg
    
  • 启动的时候需要 -a 参数

    # -a NAME=VALUE           set spider argument (may be repeated)
    

scrapy crawl TestSpider -a arg=100


### 另外得注意优先级。同一参数可能会被高优先级覆盖

命令行选项(Command line Options)(最高优先级)
项目设定模块(Project settings module)
命令默认设定模块(Default settings per-command)
全局默认设定(Default global settings) (最低优先级)


[出门右转 Scrapy_Setting](http://scrapy-chs.readthedocs.io/zh_CN/latest/topics/settings.html)

相关文章

  • 在命令行中给 Spider 传递参数

    Sometimes 不能在代码里把任务网址写死,需要动态传参给 spider ,以适应任务需求 首先得定义一个 _...

  • Scrapy命令行动态传参给spider

    scrapy命令行执行传递多个参数给spider 动态传参 在命令行运行scrapy爬虫 若爬虫中有参数可以控制爬...

  • 向docker容器传递参数

    可以使用命令行向docker容器传递参数,在Program中增加命令行参数配置: 首先使用AddCommandLi...

  • Shell 脚本编程(高级篇)

    高级篇 一、处理用户输入 1. 读取脚本参数 Bash Shell 将命令行中传递给脚本的参数赋值给一组特殊的变量...

  • 特殊变量列表

    特殊变量列表 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示,例如,$1 表示第一...

  • angular---路由之传值的三种方式

    举例点击“股票详情”链接后,给这个页面传递ID参数,或者点击“股票详情”按钮传递ID参数 1、在查询参数中传值 在...

  • 8.文件操作

    // 命令行参数 // 命令行参数用于向程序传递在执行阶段才确定的数据 // 提升软件的可移植行 int main...

  • 第14章:处理用户输入

    [TOC] #1. 命令行参数 向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向...

  • 探讨多进程参数传递技术

    所谓多进程参数传递过程,实际上是在程序的多次重复运行时,为保证内存中的进程唯一性又不丢失后来启动时传递的命令行参数...

  • 【Linux shell学习笔记-02-特殊参数变量】

    在Linux shell中,在命令行执行shell脚本时,通过用空格间隔不同的值作为参数传递到脚本中执行相应的计算...

网友评论

      本文标题:在命令行中给 Spider 传递参数

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