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

一.安装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爬虫项目)