首页 > 其他分享 >Day 22 22.2:scrapy部署

Day 22 22.2:scrapy部署

时间:2023-02-24 09:24:07浏览次数:51  
标签:项目 部署 爬虫 6800 22.2 scrapy Day scrapyd

scrapy项目部署

scrapyd部署工具介绍

  • scrapyd是一个用于部署和运行scrapy爬虫的程序,它由 scrapy 官方提供的。它允许你通过JSON API来部署爬虫项目和控制爬虫运行

所谓json api本质就是post请求的webapi

  • 选择一台主机当做服务器,安装并启动 scrapyd 服务。再这之后,scrapyd 会以守护进程的方式存在系统中,监听爬虫地运行与请求,然后启动进程来执行爬虫程序。

环境安装

  • scrapyd服务:

pip install scrapyd

  • scrapyd客户端:

pip install scrapyd-client

​ 一定要安装较新的版本10以上的版本,如果是现在安装的一般都是新版本

启动scrapyd服务

  • 打开终端在scrapy项目路径下 启动scrapyd的命令: scrapyd

  • scrapyd 也提供了 web 的接口。方便我们查看和管理爬虫程序。默认情况下 scrapyd 监听 6800 端口,运行 scrapyd 后。在本机上使用浏览器访问 http://localhost:6800/地址即可查看到当前可以运行的项目。

  • 点击job可以查看任务监控界面

scrapy项目部署

配置需要部署的项目
  • 编辑需要部署的项目的scrapy.cfg文件(需要将哪一个爬虫部署到scrapyd中,就配置该项目的该文件)

[deploy:部署名(部署名可以自行定义)] 
url = http://localhost:6800/ 
project = 项目名(创建爬虫项目时使用的名称)

username = dream # 如果不需要用户名可以不写
password = 123456 # 如果不需要密码可以不写
部署项目到scrapyd
  • 同样在scrapy项目路径下执行如下指令:

    #pycharm
    scrapyd-deploy 部署名(配置文件中设置的名称) -p 项目名称
    
  • 部署成功之后就可以看到部署的项目

  • 使用以下命令检查部署爬虫结果:

    • #pycharm
      scrapyd-deploy -L 部署名
      

管理scrapy项目

指令管理
  • 安装curl命令行工具

    • window需要安装
    • linux和mac无需单独安装
  • window安装步骤:

  • 启动项目:

    curl http://localhost:6800/schedule.json -d project=项目名 -d spider=爬虫名
    
    • 返回结果:注意期中的jobid,在关闭项目时候会用到

      • {"status": "ok", "jobid": "94bd8ce041fd11e6af1a000c2969bafd", "node_name": "james-virtual-machine"}
        
  • 关闭项目:

    • curl http://localhost:6800/cancel.json -d project=项目名 -d job=项目的jobid
      
  • 删除爬虫项目:

    • curl http://localhost:6800/delproject.json -d project=爬虫项目名称
      
requests模块控制scrapy项目
import requests

# 启动爬虫
url = 'http://localhost:6800/schedule.json'
data = {
	'project': 项目名,
	'spider': 爬虫名,
}
resp = requests.post(url, data=data)

# 停止爬虫
url = 'http://localhost:6800/cancel.json'
data = {
	'project': 项目名,
	'job': 启动爬虫时返回的jobid,
}
resp = requests.post(url, data=data)

标签:项目,部署,爬虫,6800,22.2,scrapy,Day,scrapyd
From: https://www.cnblogs.com/dream-ze/p/17150150.html

相关文章

  • 代码随想录算法Day09 | kmp算法理论基础知识,28. 实现 strStr() ,459.重复的子字符串
    kmp算法理论基础知识核心思想利用已经部分匹配的结果而加快模式串的滑动速度!且主串S的指针i不必回溯!相较于BF算法的O(N*M),KMP算法时间复杂度可提速到O(N+M)!用处K......
  • HTML——day4(css)
    今天开始涉及到css的相关知识。css本质上是和HTML一样的标记语言,准确的来说他是一种层叠式样式表,主要是我们用来美化页面。css主要有两种东西构成:选择器,声明。与HTML相......
  • day02-自己实现Mybatis底层机制-01
    自己实现Mybatis底层机制-01主要实现:封装SqlSession到执行器+Mapper接口和Mapper.xml+MapperBean+动态代理Mapper的方法1.Mybatis整体架构分析对上图的解读:1)mybatis......
  • 算法随想Day21【二叉树】| LC669-修剪二叉搜索树、LC108-将有序数组转换为二叉搜索树
    LC669.修剪二叉搜索树相当于一个中序遍历吧,当某个节点<low时,其右子树的各个节点值虽然都比该节点值大,但仍可能存在<low的,所以要据于次节点,向其右子树进军遍历,等回溯时,del......
  • 2022.2.23学习总结
     两天没有写博客了,最近一些生活和学习的安排也比较忙,但还是抽出了一些学习了一点编程,周二的时候,我配置了AndroidStudio,在新建模块的时候花费了一点的时间,许多同学们也......
  • 谷粒学院day04笔记
    前端开发21.NPM1.1npm是什么后端开发中,maven构建项目,管理jar依赖,联网下载依赖npm类似于前端的maven,管理js依赖,联网下载js依赖1.2npm安装nodejs会默认把npm带......
  • 2022.2.23Android 开发之路
    今天学习了Android开发的设置视图的对齐方式设置视图的对齐方式有两种途径:采用layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式采用gravity属性,它指定了下级......
  • 代码随想录算法Day23 | 669. 修剪二叉搜索树 ,108.将有序数组转换为二叉搜索树 , 538.把
    669.修剪二叉搜索树题目链接:669.修剪二叉搜索树-力扣(LeetCode)思路在删除二叉搜索树中节点值为key的节点这一题中,分五种情况来考虑,找到节点后删除即可。而这道题......
  • 决战圣地玛丽乔亚Day19---
    聚簇索引和非聚簇索引:聚簇和非聚簇的含义是:是否索引和数据进行绑定,即是否需要二次查找才能找到对应的数据值。由于聚簇索引的绑定关系,要求聚簇索引是唯一值,否则不能明确通......
  • 代码随想录算法训练营Day23 二叉树
    代码随想录算法训练营代码随想录算法训练营Day23二叉树|669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结篇669.修剪二叉搜索......