在安装pyspider的过程中大部分的问题都从论坛里找到了解决办法,但是现在还是报错,有没有能帮助的,如下。
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文件代码有问题);
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’)