上篇

1. scrapy 框架简介

Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。

同步和异步

在这里插入图片描述

2. scrapy 工作流程[重点]

scrapy 中 5 大功能模块作用

在这里插入图片描述

scrapy 详细的工作流程

在这里插入图片描述

scrapy 三个内置对象

1)request请求对象:由url 、method、 post_data、 headers等构成

在这里插入图片描述

2)response响应对象:由url 、body、 status、 headers等构成

在这里插入图片描述

3)item数据对象:本质是个字典

需求自己定义,每个爬虫提取的数据不同。

3. scrapy 基本使用[重点]

scrapy 使用流程

1)创建Scrapy项目

2)创建Scrapy爬虫

3)在生成的Scrapy爬虫中书写代码,提取数据/构造新的request对象,返回提取的数据/新的request对象

4)在管道中保存数据

创建 scrapy 项目

# scrapy startproject 项目名称
scrapy startproject itcast

在这里插入图片描述

创建爬虫

# scrapy genspider 爬虫名称 允许抓取域名
cd itcast
scrapy genspider itcast itcast.cn

在这里插入图片描述

下篇

1. scrapy 基本使用[重点]

完善爬虫代码

1)爬虫起始 url 响应的 parse 解析函数

在这里插入图片描述

2)启动爬虫

# scrapy crawl 爬虫名称
scrapy crawl teacher

注意:启动爬虫程序的命令,必须进行爬虫项目目录下执行。

数据管道保存数据

在这里插入图片描述

注意:数据管道需要在项目的 settings.py 文件中启用才会生效。

在这里插入图片描述

2. scrapy 数据建模[重点]

提取规划爬虫要提取的数据字段

在这里插入图片描述
在这里插入图片描述

3. scrapy 提取 url 构造新的请求对象[重点]

语法格式

scrapy.Request(url, callback)
  • url:构造请求对象的url地址
  • callback:指定解析函数名称,表示该请求返回的响应使用哪一个函数进行解析
  • 将构造的新的 request 对象返回给引擎: yield scrapy.Request(url, callback)

在这里插入图片描述

4. scrapy.Request 类 meta 参数的使用[重点]

作用: meta 参数的作用就是在不同的解析函数之间实现数据的传递

在这里插入图片描述
在这里插入图片描述

5. 补充:scrapy 的配置项

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐