python中启动pyspider报错

在安装pyspider的过程中大部分的问题都从论坛里找到了解决办法,但是现在还是报错,有没有能帮助的,如下。

img

ps:已经尝试过的方案如下

1、 async 关键字的问题,修改了async 不能作为函数的参数名的文件:(1)run.py (2) fetcher\tornado_fetcher.py (3) webui\app.py ;

2、降低WsgiDAV版本;

python -m pip install wsgidav==2.4.1

3、pyspider运行卡死在result_worder starting上,关闭防火墙已经解决;

4、修改pyspider/webui/webdav.py中第203行,已修改,见下图(个人觉得是不是修改后的webdav.py文件代码有问题);

img

5、安装pycurl编译包的方案,已经实施。安装文件为:pycurl-7.45.1-cp39-cp39-win_amd64.whl ;

6、修改gcd函数的问题,已经实施。在base_handler文件中上方加入 import math
,下面fractions.gcd()改为math.gcd(…)

版本问题??

安装和运行要在conda环境下,你每次操作的时候有提前进入conda命令行吗?

Windows 平台不支持 timeout,忽略即可。
您可以尝试升级“setuptools”;
像这样的脚本:
pip install -U setuptools
这可能会成功。

使用pyspider抓取一些网页时,如果网页使用JS做渲染,将会遇到抓取不成功的情况,具体的表现就是在pyspider开发界面左侧,web页面某些元素显示不出来。解决办法是,使用phantomjs进行JS加载和抓取。

下载安装phantomjs之后,记得将~\phantomjs\bin加入到PATH中,然后在启动pyspider时使用pyspider all将phantomjs启动。如果是在windows环境下,系统会提示FutureWarning : timeout is not supported on your platform.warnings.warn(“timeout is not supported on your platform.”, FurureWarning),忽略即可。之后即可在crawl()中使用“fetch_type = ‘js’”参数,self.crawl(url, callback = self.last_page, fetch_type = ‘js’)