初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

Scripy框架的入门知识点:

Scrapy 总体:

scrapy框架一共由5个模块和2个中间模块。

5个模块: engine,scheduler,item pipelines(用户编写),download,spiders(用户编写)

2个中间模块: engine spider之间  , engine 和 download 之间有两个中间件模块

Engine模块:控制所有模块,根据条件触发事件

DOWNLOADER:根据请求下载网页

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

Downloader Midderware:(Engine和Downloader之间的中间模块):实施上述之间进行用户可配置控制,修改,丢弃,新增请求或响应,可以不配置

Spider:(主要编写的模块)

产生爬取项(scraped item 对象)

解析Downloader返回响应(Resopnse对象)

产生额外的爬取请求(Request对象)

Spider Middleware(spider和Engine 之间的中间模块)(可配置)

目的:对请求和爬取项的再处理

功能:修改,丢弃,新增请求或爬取项

Item Pipelines:(需要用户编写)

以流水线的方式处理Spider产生的爬取项

由一组操作顺序完成,每个操作是一个Item Pipeline类型

(处理包括: 清理,检验,查重爬取项中的HTML数据,将数据存储到数据库)

 

爬虫常用命令:

Scrapy命令行:

格式:>scrapy<>command>[options][arges],其中 command: scrapy命令

常用命令:(来源于中国慕课网北京理工大学嵩天教授的课,下同)

初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

使用Scrapy爬虫

1.新建工程,使用cmd切换到需要新建工程的地方,我这里是D盘scrapy文件夹下的demo1

初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

新建工程之后会产生一系列文件:

scrapy.cfg:部署爬虫配置文件

init.py: 初始化脚本,不需要编写

items.py:一般不需要,Items代码模板(继承类)

middlewares.py:可以编写 (什么名字表示什么模块)

settings.py: 配置文件,也可以改

spiders : 保存所有的爬虫, 里面的pycache为缓存文件

2.产生一个爬虫

初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

生成名称为demo的爬虫(会在spiders目录下生成demo.py)

demo.py中 parse()用于处理相应,解析内容形成字典,发现新的URL爬取请求

配置爬虫:(修改demo.py)

有两个对象,一个是self,一个是response(相当于网页放回内容的对象)

比如说将返回的html页面存成文件

 

Scrapy 爬虫的基本用法:

1.流程:创建工程+spider模块,编写spider模块,编写item Pipeline ,优化配置策略

2.涉及的3个类:requests 类, response类,item类(由spider产生信息封装)

3.

Request类(class scrapy.http.Request())

Request对象表示一个http请求,由spider产生,Downloader执行

初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

Response类(class scrapy.http.Response())

表示一个http相应,由Downloader生成,Spider处理

初学爬虫3,Scrapy框架的入门知识以及使用Scrapy框架爬取股票数据

Item类 (class scrapy.item.Item())

表示从html页面中提取的信息内容,由spider生成,Item Pipeline处理,类字典类型,可以按照字典操作

scrapy支持多种html信息提取方法: bs,lxml,re,Xpath Selector,CSS Seletor……

 

往下就是Scrapy爬取股票数据的例子

(未完待续233)