Unknown command: crawl(爬虫框架Scrapy遇到的常见错误)

今天在用scrapy框架运行多爬虫的时候,遇到了一个比较棘手的问题,刚开始进行了各种尝试,却还是不行,最后终于还是找到了原因!

正文

当我们在cmd中或者PyCharm中使用Terminal输入scrapy crawl lieping(lieping是我项目里的爬虫的名字,name = “lieping”,爬取猎聘网的职位信息),总会报如下的错误:

E:\Study\Python\Codes\Spiders\0301\job_spider>scrapy crawl lieping

Scrapy 1.5.0 - no active project

Unknown command: crawl

Use “scrapy” to see available commands

原因

第一种

如果是用的cmd的话,那是应为没有cd到项目的根目录,因为crawl会去搜索cmd目录下的scrapy.cfg文件,官方文档中也进行了说明:http://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/commands.html

第二种

当我们使用的PyCharm来进行运行的时候,我们所处的位置本来就是项目的根目录,而这个时候还是报错误的话,那就不是没有进入根目录的问题了,而是其他原因了……

当我们去反复查看错误语句后,我们发现那一句:“no active project”,这就说明是我们的工程有问题,于是去官方文档查看了一下我们的目录结构,并对照看来一下我的项目的结构,发现,在使用命令行startproject的时候,会自动生成scrapy.cfg,问题就出现在这里,那是因为这个项目文件中只有代码,没有配置文件,或者配置文件被移去其他位置了,导致报错。

解决办法:

找一个配置文件,修改为如下格式,

# Automatically created by: scrapy startproject

#

# For more information about the [deploy] section see:

# https://scrapyd.readthedocs.io/en/latest/deploy.html

[settings]

default = **job_spider**.settings

[deploy]

#url = http://localhost:6800/

project = **job_spider**

其中的job_spider是你的项目的名字

放在项目代码的外面,注意是项目代码的外面。不确定的可以看下scrapy文档->入门教程->创建项目,其中有目录结构。

放好配置文件后,再进入Terminal执行scrapy crawl job_spider,完美抓取。

你可能感兴趣的:(Unknown command: crawl(爬虫框架Scrapy遇到的常见错误))