近期,苏南大叔在箱子底里面翻出了一个scrapy项目,因为目标网站改版,所以需要修复一些抓取规则。在调试的过程中,发现了一些小问题,比如本文中所描述的一个弱智问题,非常弱智。但是,估计读者你还是犯了这个问题了吧?否则不可能搜索过来这个页面。

苏南大叔:运行scrapy爬虫时,提示不能识别crawl命令,该如何处理? - scrapy-no-command-crawl-hero
运行scrapy爬虫时,提示不能识别crawl命令,该如何处理?(图2-1)

本文测试环境:scrapy@1.8.0mac。事情的经过就是苏南大叔试图运行一个以前的scrapy项目的时候,得到了一个Unknown command: crawl的错误信息。

报错信息

Unknown command: crawl的完整报错信息如下:

bogon:~ sunan$ scrapy crawl article2
Scrapy 1.8.0 - no active project

Unknown command: crawl

Use "scrapy" to see available commands

查看scrapy命令的帮助信息的话,确实没有crawl这个选项。但是,这个并不是事情的真相。

bogon:~ sunan$ scrapy
Scrapy 1.8.0 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command

解决方案

解决方案其实挺鉴定,就是运行scrapy命令的位置,是有问题的。寻找一下相关scrapy项目的scrapy.cfg文件所在的目录,然后在在这个位置上,运行scrapy crawl xxx即可。如下图所示:

苏南大叔:运行scrapy爬虫时,提示不能识别crawl命令,该如何处理? - scrapy-cfg
运行scrapy爬虫时,提示不能识别crawl命令,该如何处理?(图2-2)

相关链接

下面的链接是官方文档里面的相关描述:

如果您在查找如何开始一个新的scrapy爬虫,您可以查看下面这篇文章:

总结

本文的解决方案非常简单,就是找到scrapy.cfg文件的位置,然后再当前目录下面执行crawl命令即可。

scrapy作为基于python的抓取框架,还是非常值得大家学习的。更多scrapy的内容,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   scrapy

本站的忠实读者小伙伴,正在阅读下面这些文章: