zoukankan      html  css  js  c++  java
  • 记录一次爬虫部署问题-主要爬取别的系统的数据来支撑我们的数据大屏

    写在前面

    由于前同事留下的一个爬虫项目,爬虫主要爬取别的系统的数据来支撑我们的数据大屏。同事留下的是在本地算是基本开发完毕的爬虫项目。我需要做的就是将项目部署上线在服务器上就可以了。但是因为我也刚更新设备,就记录一下我的整个流程。

    代码是python3的写的,但是Mac OSX系统自带的是python2版本的。所以就想着就使用双Python版本就可以啦。

    一.安装Python3

    1. 前置:安装好Homebrew【大概是Mac的包管理工具】
      常用操作:
      brew -v
      brew -h
      brew list
      brew search <包>
      brew install <包>
      brew uninstall <包>
      brew upgrade 软件名 更新具体软件名,例:brew upgrade git
      brew update 用于更新所有软件
    通过 update 可以把包信息更新到最新,不过包更新是通过git命令,所以要先通过 brew install git 命令安装git
    

    查看软件信息:brew info 软件名

    1. 安装Python3

    brew install python

    使用brew 来安装python会自动把pip装上,上面安装的是pip3(python3.x的包管理工具)。
    查看版本:

    python -V
    pip3 -V
    

    通过brew info python 可以知道:

    If you need Homebrew's Python 2.7 run
      		brew install python@2
    
    1. 安装Python2

      brew install python@2

    这个时候会安装python2和pip2
    查看版本:
    python -V
    pip2 -V

    1. 说明
      到这里环境中已经有了2和3版本的pyhton了,但是在使用python -V的时候,还是python2的版本,有的小伙伴可能想要修改默认的版本为python3,可以看看这篇文章

    二.安装virtualenv 和 virtualenvwrapper

    virtualenv是python的虚拟环境,能够和系统环境相隔离,保持环境的纯净;
    virtualenvwrapper可以方便的管理虚拟环境。

    由于项目代码是pyhton3 的我这里就使用pip3
    安装:

    pip3 install virtualenv
    sudo easy_install virtualenvwrapper
    

    接下来,设置虚拟环境的存储位置

    编辑系统环境变量

    vim ~/.bash_profile 
    #WORKON_HOME 创建虚拟环境所在的目录
    export WORKON_HOME=<你想要的位置>
    :wq
    
    source ~/.bash_profile 
    source /usr/local/bin/virtualenvwrapper.sh
    

    virtualenvwrapper的使用

    在执行之前可能得
    source /usr/local/bin/virtualenvwrapper.sh

    创建虚拟环境python3
    mkvirtualenv --python=/usr/local/bin/python3 env3

    创建虚拟环境Python2
    mkvirtualenv --python=/usr/local/bin/python env2

    列出虚拟环境
    lsvirtualenv -b

    切换虚拟环境
    workon env2

    查看环境里安装了哪些包,进去环境才行
    lssitepackages

    退出虚拟环境
    deactivate

    删除虚拟环境
    rmvirtualenv env2

    在虚拟环境中import所需的包,workon进到某个环境
    pip3 install scrapy
    pip2 install scrapy

    三. 项目部署

    根据上面的操作,我已经把项目所需要的环境和依赖包安装好了,并使用pycharm把项目代码在本地调试通过,没有问题了。准备上线。

    服务器上的环境安装我就不说了,直接说部署过程中的问题

    问题1:有一个lxrd 依赖线上环境没有这个,我就只有先下载再上传
    http://www.lfd.uci.edu/~gohlke/pythonlibs/
    pip install 下载的xxx

    问题2:在linux中运行python文件时 会遇到导包错误的情况
    ModuleNotFoundError: No module named 'xxx’
    由于不在pycharm中 所以这里不能将上一级目录加入 sources root

    解决方法:导入 项目根目录 到sys 系统路径中

    import os
    import sys
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    

    上面代码放在from a import b 之前就可以啦。

    其余就没有什么大的问题了。

    接下来,就是写了一个简单的定时任务,每天凌晨一点执行一次

    0 1 * * * sh /home/liuge36/pachong/sbin/executespider.sh
    

    后面再把这个任务放置到azkaban中去吧

    这样,整个部署就结束了。主要是想记录一下自己遇到的问题,希望对你也有帮助,哈哈哈~~~

  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/liuge36/p/12614737.html
Copyright © 2011-2022 走看看