天天看点

scrapy:Unknown command: crawl 的3种解决方法一、报错二、解决方法三、还有一些经验总结

一、报错

报错的界面截图:

scrapy:Unknown command: crawl 的3种解决方法一、报错二、解决方法三、还有一些经验总结

报错解析:该报错是找不到配置文件,无法执行douban 项目。可能原因如下:

  1. 路径不对:没有切换路径到douban 项目下或没有把douban 文件夹添加到一个sys路径;
  2. 少了配置文件scrapy.cfg;
  3. 待补充……

二、解决方法

第1点报错是比较常见的,有两种解决方法:

  1. 在终端切换路径,具体切换方式,可以查看前面发的一篇文章:https://blog.csdn.net/qq_45476428/article/details/108707622
  2. 在main.py 文件中使用代码切换路径,参考以下代码:
    from scrapy import cmdline
    import os
    dirpath=os.path.dirname(os.path.abspath(__file__))
    # 获取当前路径
    
    os.chdir(dirpath)         # 切换到当前目录
    
    cmdline.execute(['scrapy','crawl','douban'])
    # 项目不同,把douban改为你项目的名字
               
  3. 调用os和sys把douban 的路径添加到路径中;
    from scrapy import cmdline
    import os
    dirpath=os.path.dirname(os.path.abspath(__file__))
    # 获取当前路径
    
    sys.path.append(dirpath) # 把当前的路径添加进sys路径中
    
    cmdline.execute(['scrapy','crawl','douban'])
    # 项目不同,把douban改为你项目的名字
               

第2点一般是误删了,打开一个记事本,然后复制以下代码(注意改一下项目名称)

# Automatically created by: scrapy startproject
#
# For more information about the [deploy] section see:
# https://scrapyd.readthedocs.io/en/latest/deploy.html

[settings]
default = douban.settings    # 修改douban为你的项目名字

[deploy]
#url = http://localhost:6800/
project = douban             # 修改douban为你的项目名字
           

三、还有一些经验总结

一个建议:在vscode 运行项目的时候,尽量打开项目的文件夹(像我这个的douban 文件夹)进行测试,这样子就不用切换路径了,直接运行不会报错。

PS:发现一个有趣的现象,使用pycharm 编辑器运行main.py 文件的时候,可以运行的时候,会在sys.path 自动加上运行的路径,所以不管是打开哪一个文件夹,直接打开main.py 文件运行即可。

记住运行的正确姿势:

cmd / 终端:先切换路径,然后再运行;

vscode:打开项目来运行 或 调用os和sys进行切换路径;

pycharm:自动添加,直接运行。

-End-