python3.7安装pyspider安装教程_python3.7环境下安装pyspider遇到的问题及解决办法

最近在学习爬虫的过程中,发现了一个开源的爬虫框架pyspider。

pyspider支持可视化创建和调试爬虫脚本。

后台启动pyspider进程后,可以在浏览器中输入http://127.0.0.1:5000

来在线访问测试页面。

pyspider支持单步运行脚本,可以方便地从页面提取元素的css样式。

看起来挺强大。

不过我在刚安装时就遇到了几个大坑。

我的环境是:CentOS6.5 x86_64、Python3.7.0。

通过pip install pyspider安装之后,运行pyspider,会报如下错误:Traceback (most recent call last):File "/usr/local/bin/pyspider", line 5, in from pyspider.run import mainFile "/usr/local/lib/python3.7/site-packages/pyspider/run.py", line 231async=True, get_object=False, no_input=False):^SyntaxError: invalid syntax

查看报错文件/pyspider/run.py,发现其中定义了一个fetcher函数:def fetcher(ctx, xmlrpc, xmlrpc_host, xmlrpc_port, poolsize, proxy, user_agent,timeout, phantomjs_endpoint, splash_endpoint, fetcher_cls,async=True, get_object=False, no_input=False):

该函数使用的一个参数名为async。

async是Python3.7中的一个关键字,难怪报错了。

将run.py中的async全部替换为_async:sed -i 's/async/_async/g' /home/test/venv_pyspider/lib/python3.7/site-packages/pyspider/run.py

重新运行pyspider,又一个报错:Traceback (most recent call last):File "/home/test/venv_pyspider/bin/pyspider", line 8, in sys.exit(main())File "/home/test/venv_pyspider/lib/python3.7/site-packages/pyspider/run.py", line 754, in maincli()File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/core.py", line 829, in __call__return self.main(*args, **kwargs)File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/core.py", line 782, in mainrv = self.invoke(ctx)File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/core.py", line 1236, in invokereturn Command.invoke(self, ctx)File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/core.py", line 1066, in invokereturn ctx.invoke(self.callback, **ctx.params)File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/core.py", line 610, in invokereturn callback(*args, **kwargs)File "/home/test/venv_pyspider/lib/python3.7/site-packages/click/decorators.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值