python3.7安装pyspider

1.安装pycurl

下载pycurl-7.45.1-cp37-cp37m-win_amd64.whl,这里下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/

# pip  install  pycurl-7.45.1-cp37-cp37m-win_amd64.whl

 

2.换flask ,werkzeug, wsgidav版本

# python -m pip uninstall  werkzeug wsgidav flask

# python -m pip install werkzeug==0.16.1

# python -m pip install wsgidav==2.4.1

# python -m pip install flask==1.0.2

 

3.async和await从 python3.7 开始已经加入保留关键字中., 所以async不能作为函数的参数名.改这些:

python位置...\Lib\site-packages\pyspider

修改

  1. run.py
  2. fetcher\tornado_fetcher.py
  3. webui\app.py

全字匹配修改async -> async_mode 之类其他名字。

 

4.修改pyspider\webui\webdav.py 第209 行:

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

 

5安装pyspider:

# pip install pyspider

 

6.下载phantomjs.exe放到 python.exe相同目录下,

下载地址为:https://phantomjs.org/download.html

 

7.启动pyspider

# pyspider all

 

如果出现pyspider 一直卡在 result worker starting的现象,

  1. 可能是因为 python 版本的问题,3.7.4 以及所以来的包的版本问题,导致启动卡死
  2. 关闭防火墙应该是为了让 phantomjs 应用能够访问网络,可以通过设置应用可以通过防火墙而避免关闭防火墙(因为启动不了 pyspider 在关闭防火墙的情况下起不了多大效果)
  3. 多个启动老是很麻烦可以,使用以下脚本进行启动 (win 下文件后缀名为 bat,保存后双击运行即可),如果其中一个启动成功,关闭其他cmd窗口即可:
start cmd /c pyspider
start cmd /c pyspider
start cmd /c pyspider

启动成功后,然后打开浏览器,输入http://localhost:5000/ 

 

参考: 

https://github.com/binux/pyspider

https://www.cnblogs.com/yansc/p/15701624.html

http://www.kaotop.com/it/313592.html

posted @ 2023-02-03 17:07  思凡念真  阅读(238)  评论(0编辑  收藏  举报