fucaijin 2020-01-03
主要的问题是在命令窗口输入 pyspider all 出现phantomjs exited,以及在端口localhost:5000打不开pyspider 的web服务。
我这边就不说我走过的坑了,主要讲讲如何解决:
现在async已经是python的关键词了,但是你正常的pyspider all 运行却不会报错,学IT不怕有错,最为致命有错不报错,所以关掉这个窗口,重新开一个窗口运行pyspider这个时候就会看见报错,按照报错所报的路径,找到报错的run.py文件,打开编辑,按报错的意思,应该是语法出错了,一查原来async已经是python的关键词了。
用pycharm打开D:\Python38\Lib\site-packages\pyspider,全目录搜索async,把async统一替换为async1。
注意tornado_fetcher.py中引用CurAsyncHTTPClient、SimpleAsyncHTTPClient,下图中前4处不用改!!!
再次关掉这个命令窗口,重开个命令窗口。发现此时运行跟命令pyspider all命令一样,一样是phantomjs exited,不要慌,这个时候竟然还是这个错误,通过分析,看pyspider这个框架可以知道一点,在webui这个文件夹下app.py应该是开始端口服务的然后在我们的命令行里启动的服务却没有webui running on 0.0.0.0:5000的提示,这个时候找到找到pyspider文件下的webui文件打开app.py搜索async果然还是出现了关键词,修改既可,OK 大功完成,附上两张美美的图,希望对入坑的小伙伴有帮助,谢谢。