pyspider安装使用遇到的坑
一、pip install pyspider 安装出现错误:
Command "python setup.py egg_info" failed with error code 10 in C:\Users\xxx\AppData\Local\Temp\pip-install-tc5uvu7l\pycurl\
经过网上大拿的经验需要安装wheel,执行命令pip3 install wheel安装,提示Successfully installed wheel-0.31.1代表安装成功,然后访问https://www.lfd.uci.edu/~gohlke/pythonlibs/下载相关安装文件,具体如下:
PycURL, a interface to the libcurl library.
pycurl‑7.43.1‑cp27‑cp27m‑win32.whl
pycurl‑7.43.1‑cp27‑cp27m‑win_amd64.whl
pycurl‑7.43.1‑cp34‑cp34m‑win32.whl
pycurl‑7.43.1‑cp34‑cp34m‑win_amd64.whl
pycurl‑7.43.1‑cp35‑cp35m‑win32.whl
pycurl‑7.43.1‑cp35‑cp35m‑win_amd64.whl
pycurl‑7.43.1‑cp36‑cp36m‑win32.whl
pycurl‑7.43.1‑cp36‑cp36m‑win_amd64.whl
pycurl‑7.43.1‑cp37‑cp37m‑win32.whl
pycurl‑7.43.1‑cp37‑cp37m‑win_amd64.whl
具体下载版本根据你使用的环境来定,比如我的是python3.7,然后python是32位版本,则需要选择pycurl‑7.43.1‑cp37‑cp37m‑win32.whl进行下载,注意:32或64位版本不是电脑的版本,是安装python的版本!!!
下载后进行安装,命令 pip3 install D:\python\demo\pycurl-7.43.1-cp37-cp37m-win_amd64.whl执行,如果报错:
pycurl-7.43.1-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
代表你安装的版本不对,就是上面所述的那个,我电脑是64位的,python是32位的,所以报错,然后下载pycurl‑7.43.1‑cp37‑cp37m‑win32.whl后再执行命令pip3 install D:\python\demo\pycurl-7.43.1-cp37-cp37m-win32.whl安装即可,提示Successfully installed pycurl-7.43.1及安装成功!
费了很大事,最后再安装pyspider就OK了,执行命令pip3 install pyspider提示
Successfully installed Flask-1.0.2 Flask-Login-0.4.1 Jinja2-2.10 MarkupSafe-1.0 PyYAML-3.13 Werkzeug-0.14.1 click-6.7 cssselect-1.0.3 defusedxml-0.5.0 itsdangerous-0.24 jsmin-2.2.2 lxml-4.2.5 pyquery-1.4.0 pyspider-0.3.10 tblib-1.3.2 tornado-4.5.3 u-msgpack-python-2.5.0 wsgidav-2.4.1
二、PySpider在Python3.7上运行时会报错
File "/usr/local/lib/python3.7/site-packages/pyspider/run.py", line 231
async=True, get_object=False, no_input=False):
^
SyntaxError: invalid syntax
原因是python3.7中async已经变成了关键字。因此出现这个错误。
修改方式是手动替换一下
下面位置的async改为mark_async
/usr/local/lib/python3.7/site-packages/pyspider/run.py 的231行、245行(两个)、365行
/usr/local/lib/python3.7/site-packages/pyspider/webui/app.py 的95行
/usr/local/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py 的81行、89行(两个)、95行、117行
三、
ValueError: Invalid configuration:
- Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.
3.1 最后定位在了wsgidav3.x问题,pyspider会默认安装wsgidav3.x,解决办法为先把3.x卸载,再装2.x(pip install wsgidav会默认安装2.x我安装的是2.4.1
pip uninstall wsgidav
pip install wsgidav
如果安装的wsgidav本还是3.x,可以在卸载这个版本之后,在安装命令后面加上具体版本号
python -m pip install wsgidav==2.4.1, 此方法未解决问题
3.2 原因是因为WsgiDAV发布了版本 pre-release 3.x。
解决方法如下:
在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行即可。
把 'domaincontroller': NeedAuthController(app),
修改为:
'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app),
},
首次执行pyspider all可能会卡在result_worker starting ...这里,需要用Ctrl + C 中断后重新打开CMD 输入pyspider all就成功了。
四、在实际的调试中发现pyspider的Web预览界面只有一点非常小
原因:web预览框过小的原因在于页面元素的css属性height被替换为60px
所以我们需要更改CSS文件的内容,但是这个应该不是所有浏览器都通用,只是测试了Chrome浏览器是可以的
修改debug.min.css文件内容如下: https://www.jianshu.com/p/7bff6fd4dc1b
参考内容:
1. https://segmentfault.com/a/1190000019487737?utm_source=tag-newest
2. https://www.cnblogs.com/kerbside/p/9630388.html#commentform
3. https://blog.csdn.net/qq_37253540/article/details/88196994
4. https://www.jakehu.me/2019/pyspider/
5. https://www.jianshu.com/p/7bff6fd4dc1b
pyspider安装使用遇到的坑的更多相关文章
- Python pyspider 安装与开发
PySpider 简介 PySpider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器.任务监视器, ...
- Appium环境的安装以及一路上的坑
Appium环境的安装以及一路上的坑 第一步环境的安装 l javaJDK的安装以及环境变量的配置这个我就不说了网上的教程全都是,搜一个安装一下吧 l AndroidSDK的安装也是如此我是直接安 ...
- flutter 安装过程遇到的坑
Flutter是一个移动应用程序的软件开发工具包(SDK),用一个代码库构建高性能.高保真的iOS和Android应用程序.目标是使开发人员能够为Android和iOS提供自然的高质量的应用,在滚动行 ...
- 1、pyspider安装
系统环境: centos6.6.python2.7 经测试,python2.6安装的pyspider会导致webui无法正常访问 参考博文: http://cuiqingcai.com/2443.ht ...
- 安装redis时候的坑
安装redis时候的坑 随手记录一下,以此为借鉴. 1.按照需求下载redis服务 redis可视化文件 2.安装及环境搭建 修改服务里redis.windows-service.conf文件,或者r ...
- redis安装及遇到的坑-linux
获取Redis安装包“redis-4.0.8.tar.gz”,上传Linux服务器; 使用root用户解压: tar zxvf redis-4.0.8.tar.gz -C /usr/local/; 进 ...
- pyspider 安装使用过程的一些坑
1.没有正确安装对应版本的pycurl 原因分析: PyCurl 安装错误,需要安装 PyCurl 库(PyCurl 是一个Python接口,是多协议文件传输库的 libcurl.类似于urllib ...
- Mac安装mysql遇到的坑
使用XMPP前安装了mysql,小白遇到好多坑,不要见怪 mysql官网下载,选择Community中扩展名为dmg的文件 安装完成后要记住密码,重要的事情只说一遍,对了,安装时也没有偏好设置和自启动 ...
- 安装恢复Windows10各种坑
1.安装Windows10最好用微软原装ISO,其它的第三方坑比较多,要么不支持UEFI,要么不支持MBR,要么不支持GPT. 2.恢复系统可以使用WIM备份,或Window原生备份,或者Ghost备 ...
- pyspider安装
官方文档上说的比较简单: pip install pyspider 但是实际安装时还是有些问题导致无法成功. windows下安装 先安装PhantomJS 可以依照自己的开发平台选择不同的包进行下载 ...
随机推荐
- CodeWF.EventBus:轻量级事件总线,让通信更流畅
1. CodeWF.EventBus EventBus(事件总线),用于解耦模块之间的通讯.本库(CodeWF.EventBus)适用于进程内消息传递(无其他外部依赖),与大家普遍使用的MediatR ...
- manim边学边做--通用二维坐标系
Manim的Axes对象是通用的坐标系对象,之前几篇介绍的数轴和各种坐标平面都是继承Axes对象. Axes对象的主要作用在于创建和管理二维坐标轴,以满足我们制作数学动画时的各种需求. 具体来说,Ax ...
- Go语言编写单元测试用例
Go单元测试示例 example/ |--division.go |--division_test.go 为什么被测试文件和测试文件通常放到同一个文件夹下以及同一个声明包里 通常情况下,我们把被测试的 ...
- Nginx增加网页认证功能
Nginx增加网页认证功能 增加认证功能模块 ngx_http_auth_basic_module 模块实现让访问者,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但 ...
- Eclipse 调试窗口无法显示,以及断点设置无效问题的解决方法
问题描述一:在下载了2020.3的Eclipse之后,调试程序,无法弹出调试窗口及变量信息. 解决方案:菜单栏:windows--show view--Other--找到Debug文件夹,可以挑选自己 ...
- python列表自动扩容机制
问题引入:在对比列表与元组的优缺点时,百度答案为:列表是可变的,可以随时进行增加.修改.删除操作,可以进行动态扩容,动态扩容是以牺牲性能损耗的为代价的,于是我搜索了一下列表的动态扩容 当在创建一个列表 ...
- Chrome插件之油猴(详尽版本)
官方文档: https://www.tampermonkey.net/documentation.php#google_vignette 1.注释语法: // @match https://passp ...
- Redis【1】- 如何阅读 Redis源码
1 Redis 的简介 Redis 实际上是简称,全称为 Remote Dictionary Server (远程字典服务器),由 Salvatore Sanfilippo 写的高性能 key-val ...
- 基于.NetCore开发博客项目 StarBlog - (32) 第一期完结
前言 本文记录一下 StarBlog 项目的当前状态与接下来 v2 版本的开发规划. StarBlog 项目从 2022 年开始至今已经 2 年多了,本来早就该给第一期做个小结的,但这种博客类型的项目 ...
- 搭建一个文件存储服务器minio,实现文件存储
搭建一个文件存储服务器minio,实现文件存储 Minio是一个开源的.自托管的对象存储服务器,它提供了类似于云存储服务的功能.你可以使用Minio搭建自己的私有云存储解决方案,或者作为公共存储服务的 ...