自定制命令


不在终端运行爬虫方法:
不在终端运行爬虫,可以在最外层项目的下创建start.py文件
导入如下配置:直接运行就可以了

# import   sys
# from scrapy.cmdline import execute
#
#
# if __name__ == '__main__':
#     execute(['scrapy','crawl','baidu','--nolog'])##这里相当于是scrapy  crawl  baidu  --nolog  
#
# '''
# 放在创建项目下的第一层目录下执行
#
# '''

 


自定制scrapy命令方法:

在settings里面的配置:
COMMANDS_MODULE='scrapyproject1.commands'


首先在你要启动的项目下面(spider的同级目录)创建一个commands文件(名字可以自己修改,但是前提settings配置信息也要修改,佛否则找不到)
然后在commands下面创建crawl_allspiders.py(名字可以修改,运行命令就是--scrapy   名字--,例如:scrapy  crawl_spiders)
配置信息如下:

 



from scrapy.commands import ScrapyCommand
from scrapy.utils.project import get_project_settings

class Command(ScrapyCommand):
requires_project = True
def syntax(self):
return '[option]'##该命令的option

def short_desc(self):##对该命令的描述
return 'run'

def run(self, args, opts):
spider_list=self.crawler_process.spiders.list()
print(spider_list)##拿到当前下的所有爬虫
print(opts)
print(args)
'''['baidu', 'baidu1', 'baidu2']'''
for name in spider_list:
self.crawler_process.crawl(name,**opts.__dict__)

self.crawler_process.start()

在终端输入scrapy --help就可以查看到自己自定制的命令了
scrapy crawlall就可以执行全部的爬虫了

转载于:https://www.cnblogs.com/yunxintryyoubest/p/9944468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值