win10 安装 pyspider 时遇到的坑


前言

写在前面:本人是一名学生,初次接触爬虫,在安装pyspider库后遇到了一些问题,在此记录一下学习到的解决方法。
如有问题,请各位大佬们指正!

第一次写博客炒鸡激动!



一、安装pyspider

可以使用命令行 pip 安装pyspider:

pip install pyspider

卸载方法:

pip uninstall pyspider 

我这里为了方便,就将库安装在了Anaconda3下。

二、开始踩坑

1.使用pyspider all 报错

报错如下:

报错
这里报了一个 “invalid syntax”,原因是由于新版本的Python中引入了关键字async,所以在安装好pyspider库之后运行pyspider all 会出现问题。

2.尝试解决

根据报错找到了相应文件,分别是:
文件夹
当前文件夹的 run.py ,以及 fetcher 文件夹中的 tornado_fetcher.pywebui中的app.py 出现了问题。这里将原文件中的async改为了async_mode。
(改成别的啥也行,比如async_)


举个栗子:
1.
1
2.
2
悄悄告诉你,用 Ctrl+f 可以快捷查找哦 ~



这里一定要注意!
在修改async时,只需要修改变量不需要修改类名或函数名中的async
(也就是,但凡async不是单独出现的都不用改)

再举个栗子:

例子1

按道理,问题应该是解决了的,但是实际操作pyspider all 仍然无法执行
23333

我不管,那个23333就是在嘲笑我 :(

这里要将webui文件夹中的webdav.py中第203行改为这样:

 config = DEFAULT_CONFIG.copy()
 config.update({
    'mount_path': '/dav',
    'provider_mapping': {
        '/': ScriptProvider(app)
    },
    #'domaincontroller': NeedAuthController(app),
    'http_authenticator': {
        'HTTPAuthenticator':NeedAuthController(app),
    },
    
    'verbose': 1 if app.debug else 0,
    
    'dir_browser': {'davmount': False,
                    #'enable': True,
                    'msmount': False,
                    'response_trailer': ''},
})
dav_app = WsgiDAVApp(config)



其实就是改了两句:

 	#'domaincontroller': NeedAuthController(app),
    'http_authenticator': {
        'HTTPAuthenticator':NeedAuthController(app),
    },

#'enable': True,



现在使用pyspider all 就会卡在这里:
卡住了
这里可能是因为:

1.wsgidav3.0版本不兼容

解决方法:

pip uninstall wsgidav
pip install wsgidav==2.4.1
2.werkzeug版本不对

解决方法:

#卸载
python -m pip uninstall werkzeug
#安装指定版本
python -m pip install werkzeug==0.16.0
3.如果还是不行,以下有三种选择方案:
1.选择重启电脑后重新尝试
(这个主要看脸)
2.开两个命令行,先后尝试输入
(这个也挺看脸)
3.使用管理员身份打开命令行,或绕开防火墙
(比较实际的做法)

如果还是不可以,可能是中间几步出现了一些问题。建议多尝试输入几次。5000
出现这个,代表你已经成功了,接下来在网页中输入localhost:5000即可
ok


总结

关于pyspider和jupyter notebook冲突的问题,是因为pyspider和jupyter要求的tornado版本有冲突

pyspider:tornado<=4.5.3,>=3.2
jupyter:tornado>=5.0

可以选择现用现下,也可以使用虚拟环境。

以上是我遇到的一些问题,已经成功解决。感谢大佬们的帮助,我也会继续努力的!
准备去爬了(笑)

参考资料:

  1. https://blog.csdn.net/weixin_39190382/article/details/104923254
  2. https://blog.csdn.net/qq_42187741/article/details/90697622
  3. https://segmentfault.com/q/1010000015429020
  4. https://blog.csdn.net/lly1122334/article/details/103458681
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值