python爬虫——scrapy框架(介绍)
一、scrapy介绍
Scrapy是用纯Python实现的一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能快速的抓取。
Scrapy使用了 Twisted[ˈtwɪstɪd] 异步网络框架,可以加快我们的下载速度。
Scrapy优势:让爬虫更快、更强!!!它能够帮助提升爬虫的效率,从而更好地实现爬虫。
1、同步、异步;阻塞、非阻塞区别
2、Scrapy架构图
crapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理,
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.
Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)
各模块介绍:
3、scrapy的操作流程
二、Scrapy基础操作
1、创建一个scrapy项目
- scrapy startproject mySpider
spider/scrapy.cfg # 项目的配置文件spider/ # 项目的 Python 模块,与项目名称重名,将从这里引用代码__init__.pyitems.py # 项目的目标文件middlewares.py # 项目的中间件pipelines.py # 项目的管道文件,用来定义储存settings.py # 项目的设置文件spiders/ # 存储爬虫代码目录__init__.py...
2、生成一个爬虫
- scrapy genspider 爬虫名 "爬虫范围"
3、提取数据
- 完善spider,使用xpath等方法
4、保存数据
- pipeline中保存数据
scrapy 保存信息的最简单的方法主要有四种,-o 输出指定格式的文件,命令如下:
json格式:
scrapy crawl csdn -o article.json
json lines格式,默认为Unicode编码:
scrapy crawl csdn -o article.jsonl
csv 逗号表达式,可用Excel打开:
scrapy crawl csdn -o article.csv
xml格式:
scrapy crawl csdn -o article.xml
python爬虫——scrapy框架(介绍)相关推荐
- Python爬虫——scrapy框架介绍
一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等) ...
- Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...
- Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider
Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...
- python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取
python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...
- Python爬虫—Scrapy框架—Win10下载安装
Python爬虫-Scrapy框架-Win10下载安装 1. 下载wheel 2.下载twisted 3. 下载pywin32 4. 下载安装Scrapy 5. 创建一个scrapy项目 6. fir ...
- Python爬虫学习框架介绍
对于初学者来说,摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多,因为技术总会跟随时代发生快速变化,而知识体系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧. 一. ...
- python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍
从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...
- Python爬虫——Scrapy框架(附有实战)
大家好!我是霖hero 有一天,我在逛街,突然被一声靓仔打断了我的脚步,回头一看,原来是水果摊阿姨叫我买水果,说我那么靓仔,便宜一点买给我,自恋的我无法拒绝阿姨的一声声靓仔,于是买了很多水果回家,家人 ...
- python爬虫scrapy框架爬取网页数据_Scrapy-Python
scrapy Scrapy:Python的爬虫框架 实例Demo 抓取:汽车之家.瓜子.链家 等数据信息 版本+环境库 Python2.7 + Scrapy1.12 初窥Scrapy Scrapy是一 ...
最新文章
- 【ABAP】更新交货单交货数量和拣配数量
- 将信息像存银行一样存在数据中心
- CNN结构:StyleAI-图片风格分类效果已成(-FasterRCNN-FCN-MaskRCNN)
- 多样化实现Windows Phone 7本地数据访问3——DB4O
- [网络收集]avascript中top.location.href 与 location.href的区别
- LeetCode 350. 两个数组的交集 II(哈希)
- mysql事务和锁innodb,MySQL - InnoDB 锁与事务(三)隔离级别与表的关系
- 基于一款 wk2168芯片的串口扩展
- SpringBoot 整合 RabbitMQ 实践
- Linux学习笔记---烧写bin文件分析
- python100例详解-Python基础之列表常见操作经典实例详解
- tp3.2 find带参数查询及getField(两个参数)
- 微信小程序后台管理系统(后端)笔记
- 深度剖析华为的管理哲学(建议收藏)
- 前馈控制、反馈控制及前馈-反馈控制的对比
- Open3d读写pcd点云文件
- 如何发表高质量的学术论文(硕士、博士均有参考价值)
- mysql根据类型和数据正负进行分组
- epub与txt的区别是什么?有什么好用的epub阅读器
- ambari mysql 密码_ambari密码重置