pyspider 框架安装
-
安装 pyspider
github源码地址
pip install pyspider
从网上查资料所知 ,需安装 pycurl
pycurl是libcurl的 Python 接口,用C语言写的,速度比较快,是一个常用的网络开发库。-
Linux 下安装
只需要先安装 对应的包 即可(root权限)sudo pip install pycurl # python2 sudo pip3 install pycurl # python3
-
Windows 下安装
Windows 下安装pycurl要稍微麻烦些。如果是用的 Python 低于 3.6,可以直接使用 pip 命令安装。
pip install pycurl
python 3.6版本以上的
我们换一种办法安装,使用whl文件安装,需要借助wheel库,执行如下命令安装:
pip install wheel
打开网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl ,下载对应的pycurl版本的whl文件。
这里我下载的是:pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl
其中 cp37 指的是 Python3.7 win_amd64 指的是 Python 是 64 位的 Windows 版本
根据 下载位置来install
pip install C:\Users\Administrator\Downloads\pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl
至此安装完毕,以后有类似库找不到对应的版本安装的话,也可以利用wheel安装whl文件。
错误二
如果我们的python3版本为3.7及以上,即使正确安装了pycurl,也暂时不能正常工作,因为有个命运一般的必然。pyspider的作者在参数中用了async关键字(3.7以后被列为关键字)。因此会报类似以下错误 -
File “D:\software\python\Lib\site-packages\pyspider\run.py”, line 231
async=True, get_object=False, no_input=False):
SyntaxError: invalid syntax
解决办法
分别打开python安装目录下的 yourpythonhome\Lib\site-packages\pyspider\run.py 、 yourpythonhome\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py和 yourpythonhome\Lib\site-packages\pyspider\webui\app.py三个文件,将文件中参数为async的替换为别的任何非关键字以外的参数,保存下。别急,还没完,还有个文件yourpathonhome\Lib\site-packages\pyspider\webui\webdav.py,第209行,把原来的
domaincontroller': NeedAuthController(app)
修改为:
'http_authenticator': {
'HTTPAuthenticator': NeedAuthController(app),
},
保存。再运行,打开浏览器可以看到
错误三
- 安装 phantomjs
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持 web 而不需浏览器支持,其快速、原生支持各种 Web 标准:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。 PhantomJS 可以用于页面自动化、网络监测、网页截屏以及无界面测试等
安装 以上附有官方安装方式,如果你是 Ubuntu 或 Mac OS X 用户,可以直接用命令来安装 Ubuntu:
sudo apt-get install phantomjs
Mac os x:
brew install phantomjs
windows :
直接exe 安装下载, phantomjs.exe 放在Python 根目录下 , 就行
以上内容 , 选自https://blog.csdn.net/ShiMengRan107/article/details/104395751
以上内容 , 选自https://www.jianshu.com/p/0dfb7ef12c3d
以上内容 , 选自http://cuiqingcai.com/2443.html
多谢, 以上博主,