【scrapy系列】自定义命令

本文介绍如何在Scrapy项目中创建自定义命令`scrapynames`,用于显示所有爬虫及其对应的中文名称。通过在`names.py`中继承`ScrapyCommand`并实现相应功能,然后在`settings.py`中配置`COMMANDS_MODULE`,即可使用这个新命令。该功能对于不熟悉英文的开发者非常实用。
摘要由CSDN通过智能技术生成

scrapy有很多内置命令,
例如:

scrapy list:列出当前所有爬虫
scrapy version:查看scrapy版本

那么有没有遇到没有适合的命令呢,比如说你想查看所有爬虫以及对应的中文名称(毕竟都是中国人,英文不好的话就很难受),我也是在项目上遇到这个问题,所以就研究了下,做出了这个命令
我起名为names
执行命令:

scrapy names:列出所有的爬虫中英文名称
像这样的结果:
	common_detail:通用详情爬虫
	news_paper:新闻爬虫

那么这是怎么实现的呢?
首先创建一个names.py

# -*- coding=utf-8 -*-
from scrapy.commands import ScrapyCommand

class Command(ScrapyCommand):
    requires_project = True

    def short_desc(self):
        return '列出所有爬虫及其名称'

    def run(self, args, opts):
        spider_info = self.crawler_process.spiders._spiders
        for key, spider in spider_info.items():
            print("%s:%s" % (key, spider.zh_name))

想要使用这个命令的话,需要在scrapy的settings.py里面设置

COMMANDS_MODULE = '项目名.names'

这样就可以使用了,好了小伙伴们可以试试了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辛勤的搬砖者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值