pyspider的安装以及调试运行
包的版本介绍
python3.12,pyspider0.3.10,redis5.0.6,pycurl7.45.3
pyspider 是国人 binux 编写的强大的网络爬虫框架,它带有强大的 WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,另外还支持 JavaScript 渲染页面的爬取。
另外pyspider 是支持 JavaScript 渲染的,而这个过程是依赖于 PhantomJS 的,所以还需要安装 PhantomJS,在这里就不介绍PhantomJS的安装
windows下的安装
pip安装
pip install pyspider
命令执行完即完成安装
安装所遇到的错误
1、
Command"python setup.py egg_info"failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl
这是 PyCurl 安装错误,此时需要安装 PyCurl 库。我们可以到pypi里边搜索pycurl,找到相对应自己python版本的包,然后通过pip安装
由于我是安装的最新版本,所以:
pip install pycurl
2、`
AttrobuteError:module 'fractions' has no attribute 'gcd'
具体的修改也是在网上查了很久,最终修改以下位置,并导入math
import math
for each in attrs.values():
if inspect.isfunction(each) and getattr(each, 'is_cronjob', False):
cron_jobs.append(each)
min_tick = math.gcd(min_tick, each.tick)
newcls = type.__new__(cls, name, bases, attrs)
newcls._cron_jobs = cron_jobs
newcls._min_tick = min_tick
return newcls
3、直接点击错误链接进入
(fetcher, async=False, get_object=True, no_input=True, **fetcher_config)
直接点击错误链接进入,我们发现async这里报错
报错原因:由于新版本的python引入了关键字async
进入python\Lib\site-packages\pyspider\run.py和python\Lib\site-packages\pyspide\app.py还有python\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py将这三个py文件里边的async修改以下,可以是async1,也可以是任何,只要所有的都修改成一样的就好
4、还遇到一个就是包的版本问题,一定要注意
总结
安装pyspider的心酸历程,惊喜不断,快乐不断。
温馨提示:找包一定要是适配版本