运行命令
# 运行爬虫 $ scrapy crawl spiderName # 传入自定义参数运行 $ scrapy crawl spiderName -a parameter1=value1 -a parameter2=value2
示例:通过3种方式获取传入的参数
# -*- coding: utf-8 -*- import scrapy from scrapy import cmdline class BaiduSpider(scrapy.Spider): name = 'baidu_spider' start_urls = ['https://www.baidu.com/'] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 方式一: 在init方法中获取参数 num = kwargs.get('num') print('init num: ', num) def parse(self, response): # 方式二: 在实例方法中获取参数 # 如果没有传参数会报错: AttributeError: 'BaiduSpider' object has no attribute 'num' print('self.num: ', self.num) # 方式三: 在实例方法中获取参数 num = getattr(self, 'num', False) print('getattr: ', num) if __name__ == '__main__': cmdline.execute("scrapy crawl baidu_spider -a num=10".split())
参考