背景

最近有时间想学习下python3+scrapy,于是决定写一个小程序来练练手。

开发环境:MacOS High Sierra(10.13.1)+python3+scrapy。

开发工具:PyCharm。

开发过程很简单按照网上的例子可以很好的开发完成。具体为采集新闻网站新闻。

部署

生产环镜:CentOS7.4+Python3.6

由于是在Python3上开发的,所以在部署的过程中遇到很多问题,本文就不在记录那些坑了。

直接记录我的方案:在虚拟环境中运行scrapy。

1、首先安装Python3、pip3。这个是基础。可以直接从官网上下载安装。

# python -V    # 查看python 版本
# cd /home/centos/Downloads # 进入存放目录
# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz # 获取新版的 python
# tar xvf Python-3.6.1.tar.xz # 解压文件
# cd ./Python-3.6.1 # 进入解压后的文件目录
# mkdir /usr/local/python3 # 创建编译安装目录
# ./configure --prefix=/usr/local/python3 # 配置编译安装目录
# make && make install # 编译安装

2、安装Python3虚拟环境(虚拟环境可以与真实环镜完全分离开,不受python2相关影响。

python虚拟环境说明

#定位到python程序目录
cd /data/application/python3
#安装虚拟环境包
pip3 install virtualenv
#创建python3虚拟环境(虚拟环境为目录:python3env)
virtualenv -p python3 --no-site-packages python3env
#进入指定环镜
source python3env/bin/activate
#退出环镜
deactivate

3、虚拟环境安装相关包

# 安装Twisted
wget https://pypi.python.org/packages/a2/37/298f9547606c45d75aa9792369302cc63aa4bbcf7b5f607560180dd099d2/Twisted-17.9.0.tar.bz2#md5=6dbedb918f0c7288a4c670f59393ecf8
tar -xjvf Twisted-17.9.0.tar.bz2
cd Twisted-17.9.0
python3 setup.py install
# 安装scrapy
pip3 install scrapy
#其他的包就自行安装吧....

4、启动程序

#定位目录
cd /data/application/python3
#进入python3虚拟环境
source python3env/bin/activate
#定位程序目录
cd news_spiders/news/spiders/
#执行scrapy,采集数据 sina为我开发的蜘蛛的名称,使用时换成自己的蜘蛛名称
scrapy crawl sina
#退出环镜
deactivate

升级:每次想执行一次脚本比较麻烦还需要切换虚拟环境,于下我写了以下脚本。每次直接执行脚本即可。

脚本:/data/application/python3/news_spiders/run.sh

source ../python3env/bin/activate
scrapy crawl $1
deactivate

于是每次执行的脚本就简单了许多:

cd /data/application/python3/news_spiders/
#sina为蜘蛛的名称
./run.sh sina

5、定时执行

简单点采用Linux定时任务Crontab来执行脚本。

Linux定时任务Crontab命令详解

#编辑cron文件,我使用root用户。
vim /var/spool/cron/root

/var/spool/cron/root文件内容如下:

MAILTO=""
10 * * * * cd /data/application/python3/news_spiders/ && ./run.sh sina
40 * * * * cd /data/application/python3/news_spiders/ && ./run.sh baidu

注:直接执行/data/application/python3/news_spiders/run.sh sina会报错,会提示找不到crawl。因为我的scrapy.cfg文件在news_spiders目录下。所以需要定位到news_spiders目录。

python3 scrapy+Crontab部署过程的更多相关文章

  1. 1.Python3.6环境部署

    标题:Python3.6环境部署文档 作者:刘耀 内容 Linux部署Python3.6环境 Mac部署Python3.6环境 Window10部署Python3.6环境 Pycharm安装 1. L ...

  2. Python3 Scrapy 安装方法

    Python3 Scrapy 安装方法 (一脸辛酸泪) 写在前面 最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试. 没想到啊,这坑太深了... 看了看相关 ...

  3. python3.6环境部署文档

    python3.6环境部署文档   内容 Linux部署Python3.6环境 Mac部署Python3.6环境 Window10部署Python3.6环境 Pycharm安装 1. Linux部署P ...

  4. django+uWSGI+nginx的工作原理流程与部署过程

    django+uWSGI+nginx的工作原理流程与部署过程 一.前言 知识的分享,不应该只是展示出来,还应该解释这样做是为什么... 献给和我一样懵懂中不断汲取知识,进步的人们. 授人与鱼,不如授人 ...

  5. hudson部署过程

    hudson部署过程: java安装 http://developer.51cto.com/art/201504/470683.htm tomcat安装 http://blog.csdn.net/hu ...

  6. SCCM 2012 R2安装部署过程和问题(三)

    上篇 SCCM 2012 R2安装部署过程和问题(二) 个人认为对于使用SCCM 2012的最重要的经验是耐心. SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通 ...

  7. SCCM 2012 R2安装部署过程和问题(二)

    上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...

  8. SCCM 2012 R2安装部署过程和问题(一)

    在进行Windows Server 2012 R2虚拟化测试前,由于需要安装,部署和管理很多的服务器,自然会想到该如何提高效率和有效的管理.在Windows Server 2008的时代微软已经提供称 ...

  9. BeX5平台简明部署过程

    http://wex5.com/cn/concise-deployment/ BeX5平台简明部署过程 该文章主要介绍BeX5平台开发完成后,资源部署至正式环境的过程. 一. 获取BeX5企业快速开发 ...

随机推荐

  1. 磨刀不误砍柴工!vs2010快捷键大全

    最常用的快捷键: VS2012变化的快捷键: 注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键.相当于Ctr ...

  2. SQL语句查询表中的所有约束

    select * from sysobjects where parent_obj in(select id from sysobjects where name='表名') 或者 exec sp_h ...

  3. Hello Kiki(中国剩余定理——不互质的情况)

    Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. Akka(35): Http:Server side streaming

    在前面几篇讨论里我们都提到过:Akka-http是一项系统集成工具库.它是以数据交换的形式进行系统集成的.所以,Akka-http的核心功能应该是数据交换的实现了:应该能通过某种公开的数据格式和传输标 ...

  5. Android使用百度地图定位并显示手机位置后使用前置摄像头“偷拍”

    今天老板让我验证一下技术可行性,记录下来. 需求 :定位手机的位置并在百度地图上显示,得到位置后使用前置摄像头进行抓拍 拿到这个需求后,对于摄像头的使用不太熟悉,于是我先做了定位手机并在百度地图上显示 ...

  6. luogu P1563 玩具谜题

    https://www.luogu.org/problemnew/show/1563 题目: 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩 ...

  7. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  8. linux kernel态下使用NEON对算法进行加速

    ARM处理器从cortex系列开始集成NEON处理单元,该单元可以简单理解为协处理器,专门为矩阵运算等算法设计,特别适用于图像.视频.音频处理等场景,应用也很广泛. 本文先对NEON处理单元进行简要介 ...

  9. Nytro MegaRaid

    Nytro MegaRaid简介 Dell R720xd,内存64G ,12块 SAS Dell R510xd,内存48G ,12块 SAS   SSD+SAS   SSD对于用户透明   raid会 ...

  10. phpcms v9 sql注入脚本

    phpcms v9 SQL注入脚本 用法:python phpcms.py http://www.baidu.com import requests,sys,urllib url = sys.argv ...