基于scrapy框架的单机爬虫与分布式爬虫

我们知道,对于scrapy框架来说,不仅可以单机构建复杂的爬虫项目,还可以通过简单的修改,将单机版爬虫改为分布式的,大大提高爬取效率。下面我就以一个简单的爬虫案例,介绍一下如何构建一个单机版的爬虫,并做简单修改,使其实现分布式功能。

需求分析

  1. 访问页面,并实现1-10页的页面爬取,并保存到data目录下
  2. 解析页面,并获取到图片链接,并下载图片,保存到imgs目录下

单机版爬虫

准备爬虫项目

使用命令构建爬虫项目

在自己的放置爬虫的目录,或新目录内运行命令scrapy startproject scrapyMovieDemo 创建一个scrapy工程

效果如下:

使用命令构建爬虫

使用cd scrapyMovieDemo命令进入已经创建的爬虫项目目录

运行scrapy genspider mv_spider_single ssr4.scrape.center命令创建基础爬虫

效果如下:

下面我们来看一下创建爬虫工程与创建爬虫过程中,我们的工程与项目文件结构

如下:

最外层是一个名为scrapyMovieDemo的目录

  1. 创建data与imgs目录
  2. 开发单机爬虫
  3. 修改settings配置
  4. 命令启动
  5. 脚本启动
  6. 评估与回顾
相关推荐
小坏讲微服务8 小时前
Spring Boot4.0 集成 Redis 实现看门狗 Lua 脚本分布式锁完整使用
java·spring boot·redis·分布式·后端·lua
为什么要做囚徒8 小时前
并发系列(一):深入理解信号量(含 Redis 分布式信号量)
redis·分布式·多线程·并发编程·信号量
爱打代码的小林8 小时前
python(爬虫selenium)
爬虫·python·selenium
BullSmall8 小时前
Kafka 安全加固实践指南(可直接落地)
分布式·安全·kafka
白露与泡影8 小时前
RabbitMQ发布订阅模式同一消费者多个实例如何防止重复消费?
分布式·rabbitmq
sugar椰子皮8 小时前
【node阅读-0】下载编译node
爬虫
Chasing__Dreams10 小时前
kafka--基础知识点--6.4--LSO
数据库·分布式·kafka
Query*18 小时前
分布式消息队列kafka【五】—— kafka海量日志收集实战
分布式·kafka
serendipity_hky20 小时前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign
Data_agent20 小时前
Python编程实战:从类与对象到设计优雅
爬虫·python