当前位置: 首页 > article >正文

12爬虫:scrapy爬虫框架

scrapy工作流程

简单的说,scrapy是一个爬虫框架,属于项目的半成品,集成了各种功能且具有较强的通用性,其本身就具有协程功能。scrapy主要包含5大模块,分别为引擎(engine)、调度器(scheduler)、下载器(downloader)、爬虫(spider)、管道(pipeline)五大基本模块。各个模块的基本功能如下:

(1)引擎(engine):scrapy的核心模块,衔接其他所有模块,所有的数据流都要经过引擎。

(2)调度器(schedule):我们可以把调度器理解为一个队列,该队列中存放着一堆我们要发送的url。引擎从调度器中拿到相应的url然后提交给下载器实现数据请求。

(3)下载器(downloader):本质上是发送请求的模块,返回Request对象。

(4)爬虫(spider):保存有初始的url地址,将url封装成Request对象,通过引擎提交给调度器,此外所有的数据解析都在爬虫中,默认其中的parse方式是第一个数据解析方法。

(5)管道(pipeline):用于数据的持久化保存。

整个scrapy的工作流程如下,可以发现所有的数据流都经过引擎engine。

scrapy安装与项目创建

相对于windows系统的电脑来说,mac安装scrapy是非常简单的,直接pip install scrapy即可。对于使用windows系统的小伙伴,可以在B站中找相应的视频,跟着教程一步一步完成。个人比较推荐樵夫老师讲的内容,对应的链接为:【号称python爬虫最精髓的scarpy框架到底是个什么东西,手把手教学,小白也能学会scarpy,内容较多,建议插眼以后慢慢看-哔哩哔哩】 https://b23.tv/2I6V1Dh,希望能够帮助到大家。

scrapy安装完成后,接下来简要的说明一下如何创建项目。

(1)新建目录,用于保存scrapy项目文件方便后续的管理,我这里实在“网络爬虫”目录下新建“scrapy爬虫框架学习”目录。

(2)在“scrapy爬虫框架学习”目录上右键——>打开于——>终端

(3)在对应的终端中以此输入:

scrapy startproject 项目名称创建一个scrapy爬虫项目
cd 项目名称进入该项目目录下
scrapy genspider 爬虫名称 域名创建爬虫
scrapy crawl 爬虫名字运行爬虫

如上所示,我们创建了一个picture的scrapy项目,在该项目中创建了一个名称为imageDownload的spider,对应的域名为tpzj.com 。

域名的用处是保证后续所有的请求都在该域名下,不再该域名下的url不会被执行。


http://www.kler.cn/a/447517.html

相关文章:

  • Marin说PCB之POC电路layout设计仿真案例---06
  • 周末总结(2024/12/21)
  • 【JavaEE初阶】线程 和 thread
  • UDP系统控制器_音量控制、电脑关机、文件打开、PPT演示、任务栏自动隐藏
  • CLION中运行远程的GUI程序
  • VS Code Copilot 与 Cursor 对比
  • Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格
  • 本地部署 MLflow 服务
  • 中宇联与亚马逊云科技共同推出Well-Architected联合解决方案
  • redis开发与运维-redis03-redis其他数据类型与命令(Bitmaps++HyperLogLog+GEO)
  • 基于pytorch的深度学习基础3——模型创建与nn.Module
  • 设计模式中单例模式中懒汉模式的问题
  • APM32F411使用IIS外设驱动es8388实现自录自播
  • Mono里运行C#脚本2—参数配置
  • 如何在Java中使用封装好的API接口?
  • 【Leetcode 热题 100】124. 二叉树中的最大路径和
  • 混合开发环境---使用编程AI辅助开发Qt
  • NOI与USACO的关系
  • 博客系统(Java 实现详解)
  • 【最大似然估计】之Python实现
  • 图像生成工具WebUI
  • MySQL知识汇总(二):select
  • ARM原理
  • 文件包含tomato靶机通关
  • 39.在 Vue3 中使用 OpenLayers 导出 GeoJSON 文件及详解 GEOJSON 格式
  • LLMs之rStar:《Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers》翻译与解读