- PySpider网络爬虫框架:带有强大的 WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时它支持多种数据库后端、多种消息队列,另外它还支持 JavaScript 渲染页面的爬取
- 官方文档:http://docs.pyspider.org/
- PyPi:https://pypi.python.org/pypi/pyspider
- GitHub:https://github.com/binux/pyspider
- 官方教程:http://docs.pyspider.org/en/latest/tutorial
- 在线实例:http://demo.pyspider.org
- PySpider 是支持 JavaScript 渲染的,而这个过程是依赖于 PhantomJS 的,所以还需要安装 PhantomJS,所以在安装之前请安装好 PhantomJS
1 pip install pyspider # Pip安装 2 pyspider all # 命令行输入,启动PySpider
- 安装使用常见错误:
- 报错 Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl;解决方法:一般会出现在 Windows 下,需要安装 PyCurl 库,PyCurl库安装:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl
- Python 3.7 无法启动PySpider:因为在Python3.7中添加了async和await两个关键字,所以不能作为函数的参数名,但是在PySpider的代码中有的参数名使用async;
- 解决方法:降低Python版本,比如降到Python3.5,建议使用这种方法进行解决
- 解决方法:修改PySpider代码,不使用async作为参数名(Python37Libsite-packagespyspider un.py和Python37Libsite-packagespyspiderfetcher ornado_fetcher.py;还有其他地方)
- 不知道为什么始终无法访问http://localhost:5000/;解决方法:查看PySpider安装文件中是否包含async作为参数名,比如WebUI文件夹中
- 报错connect to scheduler rpc error: error(10061, '');解决方法:安装virtualenv
1 pip install pycurl‑7.43.0‑cp36‑cp36m‑win_amd64.whl # 安装PyCurl,Windows 64 位,Python3.6 2 pyspider webui # 查看webui是否可以运行 3 pip install virtualenv # 安装virtualenv
- 报错ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator' instead;解决方法:修改pyspider安装包中的webui文件夹中的webdav.py文件
1 'domaincontroller': NeedAuthController(app), 2 # 将上面的改为下面的 3 'http_authenticator':{ 4 'HTTPAuthenticator':NeedAuthController(app), 5 },
- 安装完成之后,启动pyspider,在浏览器中访问http://localhost:5000/