一、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框架(介绍)相关推荐

  1. Python爬虫——scrapy框架介绍

    一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等) ...

  2. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

  3. Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider

    Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...

  4. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  5. Python爬虫—Scrapy框架—Win10下载安装

    Python爬虫-Scrapy框架-Win10下载安装 1. 下载wheel 2.下载twisted 3. 下载pywin32 4. 下载安装Scrapy 5. 创建一个scrapy项目 6. fir ...

  6. Python爬虫学习框架介绍

    对于初学者来说,摸索清楚一个领域的知识体系往往比单纯学习某个技术要重要得多,因为技术总会跟随时代发生快速变化,而知识体系往往变化较小,今天我们以自学的角度来了解一下Python爬虫的知识体系吧. 一. ...

  7. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  8. Python爬虫——Scrapy框架(附有实战)

    大家好!我是霖hero 有一天,我在逛街,突然被一声靓仔打断了我的脚步,回头一看,原来是水果摊阿姨叫我买水果,说我那么靓仔,便宜一点买给我,自恋的我无法拒绝阿姨的一声声靓仔,于是买了很多水果回家,家人 ...

  9. python爬虫scrapy框架爬取网页数据_Scrapy-Python

    scrapy Scrapy:Python的爬虫框架 实例Demo 抓取:汽车之家.瓜子.链家 等数据信息 版本+环境库 Python2.7 + Scrapy1.12 初窥Scrapy Scrapy是一 ...

最新文章

  1. 【ABAP】更新交货单交货数量和拣配数量
  2. 将信息像存银行一样存在数据中心
  3. CNN结构:StyleAI-图片风格分类效果已成(-FasterRCNN-FCN-MaskRCNN)
  4. 多样化实现Windows Phone 7本地数据访问3——DB4O
  5. [网络收集]avascript中top.location.href 与 location.href的区别
  6. LeetCode 350. 两个数组的交集 II(哈希)
  7. mysql事务和锁innodb,MySQL - InnoDB 锁与事务(三)隔离级别与表的关系
  8. 基于一款 wk2168芯片的串口扩展
  9. SpringBoot 整合 RabbitMQ 实践
  10. Linux学习笔记---烧写bin文件分析
  11. python100例详解-Python基础之列表常见操作经典实例详解
  12. tp3.2 find带参数查询及getField(两个参数)
  13. 微信小程序后台管理系统(后端)笔记
  14. 深度剖析华为的管理哲学(建议收藏)
  15. 前馈控制、反馈控制及前馈-反馈控制的对比
  16. Open3d读写pcd点云文件
  17. 如何发表高质量的学术论文(硕士、博士均有参考价值)
  18. mysql根据类型和数据正负进行分组
  19. epub与txt的区别是什么?有什么好用的epub阅读器
  20. ambari mysql 密码_ambari密码重置

热门文章

  1. 扩展屏幕方法以及注意问题
  2. matlab weibpdf函数,数学建模常用到的matlab函数有哪些
  3. 用51单片机测电容容值的方法原理及一些问题的解决方案
  4. 学习NBA球衣配色做页面配色设计
  5. 南邮计算机专业考什么,南京邮电大学计算机考情分析与经验分享
  6. uni-app getLocation:fail [geolocation:7]KEY错误 解决办法
  7. PHP实现百度人脸识别
  8. 微信:支付验证签名失败
  9. 9行代码实现图片上传和预览(自定义按钮上传)
  10. webSoket--ws模块