美文网首页
阿里云Linux云服务器上部署Python scrapy爬虫项目

阿里云Linux云服务器上部署Python scrapy爬虫项目

作者: 千喜Ya | 来源:发表于2019-08-20 18:18 被阅读0次

    一.安装Python

    不知道为什么下载压缩包按照网上教程去安装就是不行,所以选择了yum命令安装
    参考 : https://blog.csdn.net/wzhwei1987/article/details/84102589
    由于我事先用了压缩包安装,好像有残留导致python3软连接不起作用
    解决方法如下 :
    限制性rm -rf /usr/bin/python3,然后在执行软连接命令即可

    二.导出项目依赖项

    https://blog.csdn.net/weixin_40824913/article/details/89428888

    pip3 install -r requirements.txt
    

    三.安装Scrapy

    首先创建scrapy环境:

    sudo pip3 install virtualenv
     python3 -m venv scrapy_venv
    

    激活scrapy环境:

    source /home/scrapy_venv/bin/activate
    

    首先安装Twisted :

    wget https://pypi.python.org/packages/source/T/Twisted/Twisted-15.2.1.tar.bz2
    bzip2 -d Twisted-15.2.1.tar.bz2 
    tar xf Twisted-15.2.1.tar 
    cd Twisted-15.2.1/
    python setup.py install
    

    安装scrapy :

    pip3 install -i https://pypi.douban.com/simple/ scrapy
    

    可以用which scrapy查看scrapy安装在哪里
    参考 : https://blog.csdn.net/liuge36/article/details/80086460

    这里突然发现一个系列的文章,感觉不错 :
    Scrapy爬虫框架第一讲(Linux环境)【Scrapy简介及安装】
    Scrapy爬虫框架第二讲(Linux环境)【初识Scrapy框架】
    Scrapy爬虫框架第三讲(linux环境)【Spider的使用】

    四.安装MongoDB

    创建仓库:

    vi /etc/yum.repos.d/mongodb-org-4.2.repo
    

    把下面的内容复制到文件中 保存退出:

    [mongodb-org-4.2]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.2/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
    

    安装 :

    sudo yum install -y mongodb-org
    

    修改配置文件:

    vi /etc/mongod.conf
    

    把bindIP改成 0.0.0.0所有的机器都可以访问

    启动mongo服务:

    service mongod start
    

    验证是否已开启:

    netstat -nltp|grep mongo
    

    关闭mongo服务:

    service mongod stop
    

    如果想要远程连接数据库,需要开放防火墙端口:

    首先更改云服务器上的安全组:
    然后命令行依次执行 :
    firewall-cmd --zone=public --add-port=27017/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --zone=public --query-port=27017/tcp #输出yes即可
    

    参考 :
    官方文档
    linux下yum安装MongoDB

    五.运行项目

    1.运行一次

    之前创建了虚拟环境,首先先在该目录下创建一个项目文件夹,将本地scrapy项目复制到项目文件夹中

    执行 :

    cd /home/scrapy_venv/ScrapyPro/LanchSchedule
    scrapy crawl 爬虫名称
    

    2.每天执行

    安装crontab :

    yum -y install cron
    

    编写用于定时执行的shell脚本 :

    vi /root/database-backup/cron_zhilian.sh
    

    内容如下 :

    export PATH=$PATH:/usr/local/bin
    cd /home/scrapy_venv/ScrapyPro/LSEveryOne
     scrapy crawl LSSpider
    

    如果想要验证.sh是否能正确执行 :

     sh /root/database-backup/cron_zhilian.sh
    

    编辑crontab定时任务 :

     crontab -e 
    

    内容如下(每隔5分钟执行一次) :

    */5 * * * * /usr/bin/sh /root/database-backup/cron_zhilian.sh
    

    查看执行日志 :

    tail –f  /var/log/cron.log
    

    参考网站 :
    Ubuntu利用crontab+shell脚本实现Scrapy每日定时爬取网站
    Scrapy定时执行爬取任务与定时关闭任务
    Linux 下执行定时任务 crontab 命令详解

    相关文章

      网友评论

          本文标题:阿里云Linux云服务器上部署Python scrapy爬虫项目

          本文链接:https://www.haomeiwen.com/subject/kevesctx.html