Error 1 - Scrapy不是内部或者外部命令
在cmd中输入Scrapy,出现如下错误提示:
"scrapy" 不是内部或外部命令
出现该错误的原因:
没有配置相应的环境变量。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
解决方案:
在环境变量的Path值中添加python的路径。例如,我的python是安装在E盘的,python的路径为E:\python
,所以添加以下环境变量:
注:各环境变量用英文的分号分隔!
E:\Python36;
E:\Python36\Scripts;
E:\Python36\Lib\site-packages\OpenSSL
环境变量的配置方法可以自行百度(传送门),添加之后再在cmd中输入scrapy就没有问题了。
原答链接:
http://blog.csdn.net/allesa/article/details/45700235
Error 2 - Unknown command: crawl
在cmd中输入scrapy crawl mySpider, 出现如下错误提示:
D:\python_crawl\crawl_software>scrapy crawl mySpider
Scrapy 1.3.0 - no active project
Unknown command: crawl
Use "scrapy" to see available commands
出现该错误的原因:
没有cd到项目根目录,因为crawl会去搜搜cmd目录下的scrapy.cfg
解决方案:
进入根目录后再输入该命令即可。
原答链接:
http://blog.csdn.net/u012490863/article/details/54743479
Error 3 - ImportError: bad magic number
由于我是从Github上直接clone别人的代码运行的,那个代码中有.pyc文件,然后我运行就出现这个错误提示:
ImportError: bad magic number in 'facebook_scrapy'
出现该错误原因:
运行包含.pyc文件的项目时会直接使用.pyc文件运行项目,但是python版本不一致时就会出现错误。
解决方案:
将.pyc文件全部删除,直接运行.py文件即可,运行项目时会自动编译成.pyc文件。
原答链接:
http://blog.163.com/pengjunlong@yeah/blog/static/14819043720118278480828/
Error 4 - KeyError: Spider not found: fb_scrapy
运行项目时出现该错误提示:
KeyError: 'Spider not found: fb_scrapy'
出现该错误原因:
spider的名字与类中声明的不一致,scrapy找不到spider。
解决方案:
找到spider文件夹下的主要文件,并将名字改正过来即可。
# Example:
class FacebookSpider(scrapy.Spider):
name = 'fb_scrapy'
确定name与你要运行的文件名相同,这个问题就可以解决了~
原答链接:
https://stackoverflow.com/questions/9876793/scrapy-spider-not-found-error
Error 5 - ImportError: No module named win32api
把前面的问题都解决之后,再运行程序,又出现了这个问题,错误提示:
ImportError: No module named win32api
出现该错误原因:
没有名为win32api的库,当出现错误ImportError: No module named win32con
也是同样的原因。Python没有自带访问Windows系统API的库,需要自行下载。
解决方案:
需要下载的库的名称为pywin32,可以从网上直接下载(pywin32下载地址),注意下载是要选择适合你自己python版本的库,下载好再运行一遍即可。
原答链接:
http://blog.csdn.net/jianhong1990/article/details/46406499
一天之内能遇到这么多错误,我上辈子一定是折翼的小天使了。。。现在总结出来也方便以后查看。继续加油~