基于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. 评估与回顾
相关推荐
liulilittle6 小时前
论分布式系统的半开闭问题
服务器·网络·分布式·系统架构·竞态
豆瓣鸡8 小时前
XXL-JOB 定时任务——从 Docker 部署到分片广播,分布式任务调度落地
spring boot·分布式·docker·定时任务
TlSfoward9 小时前
TLSFOWARD TLS指纹
开发语言·数据库·爬虫·搜索引擎·https·php
深蓝电商API9 小时前
浏览器一次请求到底经历了什么?
爬虫
liulilittle12 小时前
论双机热备:分布式
服务器·网络·分布式·通信·竞态
liulilittle15 小时前
论无知:分布式
服务器·网络·分布式·并发·通信·竞态
脱胎换骨-军哥17 小时前
C++ 与 Go 生成质量比拼,谁是分布式主力语言
c++·分布式·golang
oh,huoyuyan1 天前
火车采集器同时运行超多任务运行优化方案
爬虫·火车采集器
珠***格1 天前
XGF10-Z-4典型接入方式解析:10千伏专变用户380伏多点分布式光伏如何并网?
网络·人工智能·分布式·安全·边缘计算
阿里云云原生2 天前
Agent 不再是“玩具”!AgentScope Java 2.0 GA 发布:构建企业级分布式智能体底座
java·开发语言·分布式·agentscope