基于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. 评估与回顾
相关推荐
失散134 小时前
分布式专题——33 一台新机器进行Web页面请求的历程
分布式·tcp/ip·http·路由器·交换机
Fairy_sevenseven5 小时前
[1]python爬虫入门,爬取豆瓣电影top250实践
开发语言·爬虫·python
white-persist7 小时前
MCP协议深度解析:AI时代的通用连接器
网络·人工智能·windows·爬虫·python·自动化
稚辉君.MCA_P8_Java8 小时前
kafka解决了什么问题?mmap 和sendfile
java·spring boot·分布式·kafka·kubernetes
沐浴露z9 小时前
分布式场景下防止【缓存击穿】的不同方案
redis·分布式·缓存·redission
深蓝电商API9 小时前
不止是 Python:聊聊 Node.js/Puppeteer 在爬虫领域的应用
爬虫·python·node.js
zhuyasen9 小时前
让压测回归简单:体验 PerfTest 分布式模式的“开箱即用”
分布式·压力测试
jackaroo202011 小时前
后端_Redis 分布式锁实现指南
数据库·redis·分布式
00后程序员张11 小时前
RabbitMQ核心机制
java·大数据·分布式
爱吃烤鸡翅的酸菜鱼14 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
分布式·git·后端·gitee·github