爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapyd+Gerapy>

前言:

scrapy-redis没被部署,感觉讲起来很无力;因为实在编不出一个能让scrapy-redis发挥用武之地的案子;所以,索性直接先把分布式爬虫的部署问题给讲清楚!! 然后,曲线救国式地再在部署的服务器上,讲scrapy redis我感觉这样才好!

正文:

现在还有不少人在用scrapy web进行爬虫管理,但我个人感觉是那玩意儿BUG挺多的;且不灵光!

而Gerapy和scrapy web都是基于scrapyd的,所以 我直接省去了去讲scrapy web的知识点,推荐这个Gerapy;当然了,还有其他的,  例如:"crawlab",也是用于爬虫管理的,你就忽悠忽悠老板,措辞我都给你想好了:' 这玩意儿老好了,真的,先进单位都在用~嘎嘎香;谁用谁知道,贼牛逼!! '-----让他给你买!

比较:Gerapy 和 Scrapy Web

都是用于构建和管理 Scrapy 爬虫项目的工具,但它们有一些区别

  • 1. 功能和用途:Gerapy 是一个全面的 Scrapy 爬虫项目管理平台,提供了完整的爬虫项目管理、任务调度、监控和部署等功能。它不仅提供了界面化的项目管理工具,还支持多用户、权限管理和插件扩展等特性。而 Scrapy Web 是一个基于 Scrapy 的 Web 组件,可为 Scrapy 提供一个可视化界面,用于监控和管理爬虫的运行状态。
  • 2. 界面和可视化:Gerapy 提供了强大的 Web 界面,以图形化和交互式的方式来管理爬虫项目。它提供了项目、爬虫、调度、日志等各个方面的可视化管理界面。而 Scrapy Web 则主要关注在爬虫任务的监控和管理方面,提供了简化的可视化界面来查看爬虫的运行状态、调度任务以及查看日志等。
  • 3. 插件扩展:Gerapy 支持插件扩展,你可以为 Gerapy 添加自定义的功能和工具。它提供了开放的插件接口,允许你开发和集成自己的插件。而 Scrapy Web 没有插件扩展的功能,主要关注于提供爬虫任务的可视化管理和监控功能。
  • 总结来说,Gerapy 是一个功能强大、全面的 Scrapy 爬虫项目管理平台,提供了项目管理、任务调度、监控和部署等多个方面的功能,并支持插件扩展。Scrapy Web 则更专注于提供可视化界面来监控和管理爬虫的运行状态和调度任务.

废话不多说,讲我们的:

安装:

1.创建项目文件(这我就不废话了,mkdir一个文件夹)

2.配置虚拟环境(这我也不废话了,搞个环境依赖包)

3.安装依赖包(python随便升,没问题;我目前py==3.11.X)

pip install scrapy==2.9.0  pip install scrapyd#可自定义要不要按scrapy-redis,上面两个就是环境必须给他装的! 我推荐scrapy装2.9.0,
#别升高了!!原因我前文讲过pip install gerapy#pip install gerapy_auto_extractor
  • 前文链接:爬虫工作量由小到大的思维转变---<第三十三章 Scrapy Redis 23年8月5日后会遇到的bug)>-CSDN博客
  • 关于:gerapy_auto_extractor(要不要安,随便你们,这个无所谓的)
    • gerapy_auto_extractors 是一个用于实现自动提取器(Auto Extractors)功能的 Python 包。它是基于 Gerapy 平台(一个用于构建和管理 Scrapy 爬虫项目的框架)开发的一个插件。
    • 自动提取器是一种用于从网页中自动提取数据的功能。通过配置自动提取器规则,可以指定数据应该如何从 HTML 或其他文档中提取出来,而无需手动编写解析规则。gerapy_auto_extractors 提供了一套规则配置和数据提取的功能,以方便开发人员通过简单的配置来直接提取数据。
    • 使用 gerapy_auto_extractors,你可以轻松地配置自动提取器规则,而无需手动编写 XPath 或其他解析规则。该包还支持在 Gerapy Web 界面中进行规则配置和管理。
    • ps:为了使用 gerapy_auto_extractors,你需要首先安装 Gerapy 平台,并将 gerapy_auto_extractors 作为其插件进行安装和启用。

4.初始化gerapy

进入到项目文件夹内,控制台:

cd <你的项目文件夹内>
gerapy init

初始化完成,出现:

5.创建`数据库迁移文件`

在文件内部:
gerapy migrate

       出现对应的:表示成功!

讲解:

gerapy migrate 命令的主要用途是将数据库结构与 Gerapy 项目的模型定义同步。它提供了以下几个重要的用途和好处:

  1. 数据库迁移管理:gerapy migrate 命令使得数据库迁移变得简单和可控。通过捕捉模型定义的变化,并生成对应的迁移文件,可以轻松地管理数据库表结构的变更和演进。
  2. 模型变更应用:当你在 Gerapy 项目中创建、修改或删除模型(Model)定义时,gerapy migrate 命令可以自动应用这些变更到数据库中。它负责生成并执行相应的迁移操作,确保表结构与模型定义保持一致。
  3. 数据库版本控制:通过 gerapy migrate 命令生成的迁移文件,可以方便地进行数据库版本控制。你可以使用 Git 或其他版本控制系统来管理这些迁移文件,以便记录和追踪数据库结构的变化。
  4. 多环境部署:针对不同的环境(例如开发环境、测试环境、生产环境),你可以使用 gerapy migrate 命令为每个环境执行相应的数据库迁移操作。这样可以确保不同环境的数据库表结构与模型定义保持一致,避免了手动维护多个数据库的麻烦。

6.初始化Gerapy 平台的管理员账户

gerapy initadmin

他会自动生成一个临时的管理员账户,如图:

7.启动 Web 服务器

gerapy runserver 0.0.0.0:8000   #接受全部的ip,端口自定义
#或者gerapy runserver 127.0.0.1:8080   #在本地地址绑定到端口 8080 上

图例:

8.登录gerapy

网络页面(没服务器部署前,用本地127.0.0.1登录):

在浏览器输入: 127.0.0.1:8000

弹出页面:

(第一次登录)输入用户名:admin   密码:admin

登录成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝牙物联网移动硬件数据传输系统解决方案

随着传感器技术、网络技术和数据传输技术的不断发展&#xff0c;人们对智能设备的需求日渐增强,利用传感器技术可以对周围环境进行准确和全面的感知&#xff0c;获取到实时信息&#xff0c;从而在网络中进行传输和共享&#xff0c;再通过服务器对各种数据进行保存、分析和挖掘等…

linux释放交换空间-Swap

确保剩余内存比swap内存空间大&#xff0c;再执行以下操作&#xff0c;否则会宕机&#xff01; 查看swap分区 swapon -s 会查看到你的swap分区位置 停止swap分区 停止swap分区是将swap内存释放到实际内存中 swapoff /dev/dm-1开启swap分区 swap分区内存成功释放到实际内…

JAVA B/S架构智慧工地源码,PC后台管理端、APP移动端

智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术&#xff0c;以PC端&#xff0c;移动端&#xff0c;设备端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等…

【开源】基于Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

elasticsearch 笔记三:查询建议介绍、Suggester、自动完成

一、查询建议介绍 1. 查询建议是什么&#xff1f; 查询建议&#xff0c;为用户提供良好的使用体验。主要包括&#xff1a; 拼写检查&#xff1b; 自动建议查询词&#xff08;自动补全&#xff09; 拼写检查如图&#xff1a; 自动建议查询词&#xff08;自动补全&#xff09;…

图像分割实战-系列教程1:语义分割与实例分割概述

1、图像分割任务概述 1.1 图像分割 分割任务就是在原始图像中逐像素的找到你需要的轮廓 如图分别是&#xff08;物体检测&#xff09;与&#xff08;图像分割&#xff09;两个任务的效果对比&#xff0c;实际上会比检测任务要稍微麻烦一些&#xff0c;将图像会分为几个区域把…

Linux安装常用的软件(jdk,MySQL,nginx)并完成对前后端项目的部署发布

linux软件安装&#xff1a; 安装方式介绍&#xff1a; 二进制发布包安装&#xff1a; 软件已经针对具体平台编译打包发布&#xff0c;只要解压&#xff0c;修改配置即可 rpm安装&#xff1a; 软件已经按照redhat的包管理规范进行打包&#xff0c;使用rpm命令进行安装&#xff0…

【软件测试】为bug而生

为什么定位问题如此重要&#xff1f; 可以明确一个问题是不是真的“bug” 很多时候&#xff0c;我们找到了问题的原因&#xff0c;结果发现这根本不是bug。原因明确&#xff0c;误报就会降低多个系统交互&#xff0c;可以明确指出是哪个系统的缺陷&#xff0c;防止“踢皮球”&…

【c语言】飞机大战(1)

提前准备好游戏要的素材&#xff0c;可以到爱给网去找&#xff0c;飞机大战我们需要的是一个我方战机图片&#xff0c;一个背景图&#xff0c;三个敌方战机的图&#xff0c;我方战机的图片&#xff0c;敌方战机的图片&#xff0c;并且将图片和.cpp放在同一文件夹下. 这里创建.…

uniapp门店收银,点击右边商品,商品会进入左边的购物车,并且,当扫码枪扫描商品条形码,商品也会累计进入购物车

效果&#xff1a; 代码&#xff1a; <template><view class"container"><view class"top" style"height: 10%; margin-bottom: 20rpx; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);"><view class"box" style&q…

借贷协议 Tonka Finance:铭文资产流动性的新破局者

“Tonka Finance 是铭文赛道中首个借贷协议&#xff0c;它正在为铭文资产赋予捕获流动性的能力&#xff0c;并为其构建全新的金融场景。” 在 2023 年的 1 月&#xff0c;比特币 Ordinals 协议被推出后&#xff0c;包括 BRC20&#xff0c;Ordinals 等在内的系列铭文资产在包括比…

3d光学轮廓仪测微光学器件应用及其重要意义

微光学器件是光学器件的重要分支&#xff0c;为光学通信、光传感、光计算等领域的发展提供重要支撑。微光学器件具有尺寸小、功耗低、低成本等优势&#xff0c;可以于电子器件集成&#xff0c;实现更高效的数据传输和信号处理。未来&#xff0c;随着微纳加工技术的进一步发展&a…