失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python 网络爬虫笔记9 -- Scrapy爬虫框架

Python 网络爬虫笔记9 -- Scrapy爬虫框架

时间:2019-04-17 03:24:46

相关推荐

Python 网络爬虫笔记9 -- Scrapy爬虫框架

Python 网络爬虫笔记9 – Scrapy爬虫框架

Python 网络爬虫系列笔记是笔者在学习嵩天老师的《Python网络爬虫与信息提取》课程及笔者实践网络爬虫的笔记。

课程链接:Python网络爬虫与信息提取

参考文档:

Requests 官方文档(英文)

Requests 官方文档(中文)

Beautiful Soup 官方文档

re 官方文档

Scrapy 官方文档(英文)

Scrapy 官方文档(中文)

一、安装与简介

1、安装

# 安装pip install scrapy# 测试scrapy ‐h

2、简介

Scrapy是一个快速、功能强大的网络爬虫框架Scrapy不是一个函数功能库,而是一个爬虫框架。爬虫框架是实现爬虫功能的一个软件结构和功能组件的集合。爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。

二、Scrapy 框架

1、Scrapy 框架图

2、Scrapy 框架结构(5+2)

Engine:不需要用户修改

控制所有模块之间的数据流,不间断从Scheduler处获得爬取请求,直至请求为空根据条件触发事件

Downloader:不需要用户修改

根据请求下载网页

Scheduler:不需要用户修改

对所有爬取请求进行调度管理

Downloader Middleware:用户可以编写配置代码

目的:实施Engine、Scheduler和Downloader之间进行用户可配置的控制功能:修改、丢弃、新增请求或响应

Spider:需要用户编写配置代码

解析Downloader返回的响应(Response)产生爬取项(scraped item)产生额外的爬取请求(Request)

Item Pipelines:需要用户编写配置代码

以流水线方式处理Spider产生的爬取项由一组操作顺序组成,类似流水线,每个操作是一个 Item Pipeline 类型可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库

Spider Middleware:用户可以编写配置代码

目的:对请求和爬取项的再处理功能:修改、丢弃、新增请求或爬取项

3、Scrapy 框架数据流

Engine从Spider处获得爬取请求(Request) (框架入口)Engine将爬取请求转发给Scheduler,用于调度Engine从Scheduler处获得下一个要爬取的请求Engine将爬取请求通过中间件发送给Downloader爬取网页后,Downloader形成响应(Response)通过中间件发给EngineEngine将收到的响应通过中间件发送给Spider处理Spider处理响应后产生爬取项(scraped Item)和新的爬取请求(Requests)给EngineEngine将爬取项发送给Item Pipeline(框架出口)Engine将爬取请求发送给Scheduler

三、Scrapy 命令

1、使用方式

Scrapy是给程序员用的专业爬虫框架,提供Scrapy命令行操作方式使用windows时,直接打开cmd输入命令即可

# Scrapy命令行格式scrapy <command> [options] [args]

2、常用命令

如果觉得《Python 网络爬虫笔记9 -- Scrapy爬虫框架》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。