导图社区 Python Scrapy爬虫框架
本导图总结了Python的scrapy爬虫框架,包括框架的基本结构、如何使用等。
本思维导图总结了Python Pandas库,对其提供的数据类型、操作、运算和统计分析方法进行了较为详细的介绍。
Python的Matplotlib库,主要用来进行统计图的绘制。本思维导图对其绘图方法、文本显示和绘图区域进行了总结。
本思维导图总结了Python的NumPy库,对库中主要的数据类型(对象)和相关方法或函数,进行了较为详细的总结。
社区模板帮助中心,点此进入>>
python思维导图
Java日常技术
java中io流图解
Java继承与多态
职场必看!Java编程思想思维导图
python留言网站
Python入门
python基础知识点简单总结
J2EE复习大纲
《C语言程序设计》思维导图
Python Scrapy爬虫框架
组成部分
五个模块
ENGINE模块(已有实现)
控制所有模块之间的数据流
根据条件触发事件
DOWNLOADER模块(已有实现)
根据请求下载网页
SCHEDULER模块(已有实现)
对所有爬取请求进行调度管理
SPIDERS模块(用户编写)
解析Downloader返回的响应(Response)
产生爬取项(scraped item)
产生额外的爬取请求(Request)
ITEM PIPELINES模块(用户编写)
以流水线方式处理Spider产生的爬取项
由一组操作顺序组成,类似流水线,每个操作时一个Item Pipeline类型
可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库
两个中间件
Downloader Middleware
目的:实施Engine、Scheduler和Downloader之间进行用户可配置的控制
功能:修改、丢弃、新增请求或响应
Spider Middleware
目的:对请求和爬取项的再处理
功能:修改、丢弃、新增请求或爬取项
Scrapy命令行
启动
在CMD中执行:scrapy -h
格式
>scrapy <command>[options][args]
常用命令
startproject命令
格式:scrapy startproject <name> [dir]
创建一个新工程
genspider命令
格式:scrapy genspider [options]<name><domain>
创建一个爬虫
settings命令
格式:scrapy settings [options]
获得爬虫配置信息
crawl命令
格式:scrapy crawl <spider>
运行一个爬虫
list命令
格式:scrapy list
列出工程中所有爬虫
shell命令
格式:scrapy shell [url]
启动URL调试命令行
主要类
Request类
class scrapy.http.Request()
Request对象表示一个HTTP请求由Spider生成,由Downloader执行
属性/方法
.url
Request对应的请求URL地址
.method
对应的请求方法,'GET''POST'等
.headers
字典类型风格的请求头
.body
请求内容主题,字符串类型
.meta
用户添加的扩展信息,在Scrapy内部模块间传递信息使用
.copy()
复制该请求
Response类
class scrapy.http.Response()
Response对象表示一个HTTP响应,由Downloader生成,由Spider处理
Response对应的URL地址
.status
HTTP状态码,默认是200
Response对应的头部信息
Response对应的内容信息,字符串类型
.flags
一组标记
.request
产生Response类型对应的Request对象
.copy
复制该响应
Item类
class scrapy.item.Item()
Item对象表示一个从HTML页面中提取的信息内容 由Spider生成,由Item Pipeline处理 类似字典类型,可以按照字典类型操作
使用步骤
1.创建一个工程和Spider模板
2.编写Spider
3.编写Item Pipeline
4.优化配置策略