linux crontab scrapy,python3 scrapy+Crontab部署过程

news/2024/7/24 12:59:45 标签: linux crontab scrapy

背景

最近有时间想学习下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程序目录

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来执行脚本。

#编辑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目录。

1.Python3.6环境部署

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

Python3 Scrapy 安装方法

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

python3.6环境部署文档

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

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

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

hudson部署过程

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

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

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

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

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

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

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

BeX5平台简明部署过程

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

随机推荐

day8

作业要求:     1.用socket写一个 ftp服务端与客户端     2.支持get put命令 作业下载地址:ftp://www.wudonghang.com/oldboy/day8.zip ...

json,pickle

json  将python基本数据类型转换成字符串形式 import json dict = {'k1':'v1'} result = json.dumps(dict) print(result,ty ...

Ibm-jQuery教程学习笔记

一.概述 1.虽然 jQuery 本身并非一门新的语言.但是,学习其语法有助于我们熟练.灵活地使用它.回顾下我们熟悉的 CSS 语法,不难发现 jQuery 的语法与 CSS 有相似之处. jQuer ...

【转】windows c++获取文件信息——_stat函数的使用

_stat函数的功能 _stat函数用来获取指定路径的文件或者文件夹的信息. 函数声明 int _stat( const char *path, struct _stat *buffer ); 参数: ...

oauth与openid

转自http://desert3.iteye.com/blog/1701626 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列 ...

linux 内核协议栈收报流程(二)Netfilter全貌

ip层分片整理 int ip_local_deliver(struct sk_buff *skb){ /* * Reassemble IP fragments. */ if (ip_is_fragme ...

TPYBoard v102 DIY照相机(视频和制作流程)

前段时间的帖子,利用TPYBoard v102做的DIY照相机,周末实物终于做出来了,加了两个按键模块和一个5110,做的有点糙啊----望大家勿怪,哈哈哈.拍出来图片还算清晰,串口摄像头模块用的30 ...

从三个开源项目认识OpenFlow交换机 - OVS

在SDN/NFV的网络革新技术浪潮的引领下,催生了诸多数据面开源方案的诞生.业界知名度较高的有OVS(Open vSwitch).FD.io (Fast Data I/O).ODP(Open Data ...

SpringBoot学习之SpringBoot执行器

在以往的分布式开发当中,各个服务节点的监控必不可少.监控包含有很多方面,比如说:内存占用情况,节点是否健康等.在spring-boot会给我们提供相关资源监控叫做spring-boot-actuato ...


http://www.niftyadmin.cn/n/1422955.html

相关文章

素数的判断与打印_几何途行_新浪博客

#include #include int main() { int n ; int i , j; int temp ; printf("please input n \n") ;//finding prime number scanf("%d" ,&n) ; for(i 2 ;i { //判断是否是素数 temp(int)sqrt(i) ; for(j2 ;j<temp ; j) { if( (i%j)0 ) //如果求余为零…

阿里

转载自&#xff1a;http://www.cnblogs.com/yejinru/archive/2012/12/29/2838467.html&#xff0c;尊重原创&#xff01; /* * 题目&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id1045 * 有n个小朋友坐成一圈&#xff0c;每人有ai个糖果。每人只能给左右两人传…

ino查看工具android版,Tian Wang INO

Tian Wang INO软件是天王智能手表的官方配套app&#xff0c;用户在将app与手表相连接后就可以查到自己关于自己身体相关的一些实时数据&#xff0c;还可以设置监测这些项目&#xff1b;用户同时也可以通过appj进行简单的通话、短信回复等操作&#xff0c;特别是在不方便用手机的…

Makefile文件与chmod_几何途行_新浪博客

Makefile文件 test.o: test.c //表示生成test.o文件需要test.c文件 gcc test.c -c //将test.c文件编译成test.o文件 test: test.o //表示生成test可执行文件需要test.o文件 gcc test.o -o //将test.o文件生成可执行文件test​ chmod 777 makefile​ //change mod //11B…

第一章:总产出_几何途行_新浪博客

宏观经济变量--总产出 ​国民生产总值GNP--指一个国家或地区一定时期由本地公民所生产的全部最终产品或劳动的价格总和。 ​1.统计的是最终产品&#xff0c;不是中间产品。 ​2.统计的流量不是存量 ​3.是国民的原则&#xff0c;不是国土的原则 ​国内生产总值GDP--指一定时期内…

关于 thinkphp import 文件内容变量失效问题

用TP 集成支付宝账户绑定功能时碰上个问题 ORM 下有文件 config.class.php 直接import()后 发现里面的变量无法使用 但确实是加载咯。。&#xff08;在config.class.php输出内容成功&#xff09; 思考百度了半天。。 原来一直知道 JS 作用域 忽略了 PHP 函数也有作用域的- - 具…

android sqlite性能优化,Android数据库SQLite性能优化①.PDF

Android数据库SQLite性能优化①.PDF2014 年 第 23 卷 第 4 期 计 算 机 系 统 应 用Android 数据库 SQLite 性能优化①林培杰, 朱安南, 程树英(福州大学 物理与信息工程学院, 福州 350108)摘 要: SQLite 是 Android 平台的重要数据库引擎, 具有零配置、支持事务、移植性好等特点…

ASP.NET MVC4+EF系列之五 架构介绍

从这一节将名字做了小小修改&#xff0c;因为为了支持code first migrations我用的EF5.0。 图片1&#xff1a; 图片2&#xff1a; 这些首先让我们大致看下整个系统的风格&#xff0c;当然暂时也就这些功能。我需要一步一步完善整个通用权限管理系统。 一.整体架构概述 1.框架 1…