基于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. 评估与回顾
相关推荐
sheji341618 分钟前
【开题答辩全过程】以 基于python爬虫的网易云音乐可视化分析与推荐为例,包含答辩的问题和答案
爬虫
绝不收费—免费看不了了联系我23 分钟前
学术论文爬虫项目
爬虫
源代码•宸40 分钟前
分布式缓存-GO(项目整体架构简介、Ubuntu 22.04 64位安装GoLang、安装Docker、解决Go module 的依赖问题)
经验分享·分布式·后端·ubuntu·缓存·docker·golang
Ttang232 小时前
【SpringCloud1】从单体架构到分布式系统架构
分布式·spring cloud·架构
博语小屋3 小时前
生产者消费者模型
linux·分布式·缓存
深蓝电商API4 小时前
爬虫限速与并发控制:令牌桶、漏桶、动态调整全解析
爬虫
JIAWAP4 小时前
Redis数据安全性分析之RDB详解
数据库·redis·分布式·缓存
唐僧洗头爱飘柔95274 小时前
【区块链技术(04)】区块链核心技术:分布式网络的定义和特点;分布式账本的特性、实现与工作流程;共识机制
网络·分布式·区块链·共识算法·分布式账本·共识机制
松☆4 小时前
OpenHarmony + Flutter 混合开发进阶:实现跨设备分布式数据同步与状态共享
分布式·flutter
沧海寄馀生5 小时前
Apache Hadoop生态组件部署分享-Kafka
大数据·hadoop·分布式·kafka·apache