一。scrapy结构数据

解释:

1.名词解析:

o 引擎(Scrapy Engine)
o 调度器(Scheduler)
o 下载器(Downloader)
o 蜘蛛(Spiders)
o 项目管道(Item Pipeline)
o 下载器中间件(Downloader Middlewares)
o 蜘蛛中间件(Spider Middlewares)
o 调度中间件(Scheduler Middlewares)

2.具体解析

绿线是数据流向
 从初始URL开始,Scheduler会将其交给Downloader进
行下载
 下载之后会交给Spider进行分析
 Spider分析出来的结果有两种
 一种是需要进一步抓取的链接,如 “下一页”的链接,它们
会被传回Scheduler;另一种是需要保存的数据,它们被送到Item Pipeline里,进行
后期处理(详细分析、过滤、存储等)。
 在数据流动的通道里还可以安装各种中间件,进行必
要的处理。

二。初始化爬虫框架  Scrapy

命令: scrapy startproject qqnews

ps:真正的项目是在spiders里面写入的

三。scrapy组件spider

爬取流程
 1. 先初始化请求URL列表,并指定下载后处
理response的回调函数。
2. 在parse回调中解析response并返回字典,Item
对象,Request对象或它们的迭代对象。
3 .在回调函数里面,使用选择器解析页面内容
,并生成解析后的结果Item。
4. 最后返回的这些Item通常会被持久化到数据库
中(使用Item Pipeline)或者使用Feed exports将
其保存到文件中。

标准项目结构实例:

1.items结构:定义变量,根据不同种数据结构定义

2.spider结构中引入item里面,并作填充item

 3。pipline去清洗,验证,存入数据库,过滤等等 后续处理

Item Pipeline常用场景
 清理HTML数据
 验证被抓取的数据(检查item是否包含某些字段)
 重复性检查(然后丢弃)
 将抓取的数据存储到数据库中

4.Scrapy组件Item Pipeline

经常会实现以下的方法:
 open_spider(self, spider) 蜘蛛打开的时执行
 close_spider(self, spider) 蜘蛛关闭时执行
 from_crawler(cls, crawler) 可访问核心组件比如配置和
信号,并注册钩子函数到Scrapy中

 pipeline真正处理逻辑

定义一个Python类,实现方法process_item(self, item,
spider)即可,返回一个字典或Item,或者抛出DropItem
异常丢弃这个Item。

5.settings中定义哪种类型的pipeline

 

持续更新中。。。。,欢迎大家关注我的公众号LHWorld.

转载于:https://www.cnblogs.com/LHWorldBlog/p/7887628.html

Python爬虫知识点四--scrapy框架相关推荐

  1. python scrapy框架详解_Python爬虫知识点四--scrapy框架

    一.scrapy结构数据 解释: 1.名词解析: o 引擎(Scrapy Engine) o 调度器(Scheduler) o 下载器(Downloader) o 蜘蛛(Spiders) o ...

  2. Python爬虫5.3 — scrapy框架spider[Request和Response]模块的使用

    Python爬虫5.3 - scrapy框架spider[Request和Response]模块的使用 综述 Request对象 scrapy.Request()函数讲解: Response对象 发送 ...

  3. python爬虫入门(六) Scrapy框架之原理介绍

    Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...

  4. pythonscrapy爬虫_零基础写python爬虫之使用Scrapy框架编写爬虫

    网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻 ...

  5. Python爬虫教程之Scrapy 框架

    一.Scrapy 框架 Scrapy 是⽤纯 Python 实现⼀个为了爬取⽹站数据.提取结构性数据⽽编写的应⽤框架,⽤途⾮常⼴泛. 框架的⼒量,⽤户只需要定制开发⼏个模块就可以轻松的实现⼀个爬⾍,⽤ ...

  6. python爬虫之使用Scrapy框架编写爬虫

    转自:http://www.jb51.net/article/57183.htm 前面的文章我们介绍了Python爬虫框架Scrapy的安装与配置等基本资料,本文我们就来看看如何使用Scrapy框架方 ...

  7. python爬虫:使用scrapy框架抓取360超清壁纸(10W+超清壁纸等你来爬)

    目的:闲着无聊,利用爬虫爬取360超清壁纸,并将其数据存储至MongoDB/MySQL中,将图片下载至指定文件夹. 要求:确保以安装MongoDB或者MySQL数据库.scrapy框架也肯定必须有的: ...

  8. python爬虫教程:Scrapy框架爬取Boss直聘网Python职位信息的源码

    今天小编就为大家分享一篇关于Scrapy框架爬取Boss直聘网Python职位信息的源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 分析 使用Crawl ...

  9. PYTHON 爬虫笔记十一:Scrapy框架的基本使用

    Scrapy框架详解及其基本使用 scrapy框架原理 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为 ...

最新文章

  1. 看漫画学python 豆瓣_漫画,小莉要学Python后端,看大牛是怎么教她的!
  2. github Git 原理简介
  3. Matplotlib常见问题总结
  4. C语言文件操作 给M个数随机分组
  5. 《深入理解OSGi:Equinox原理、应用与最佳实践》一2.2 Bundle
  6. C++ 网络开发工具
  7. Markdown语法、相关警告配置设置——持续更新
  8. linux系统汇总的qt,QT 编程总结_Linux编程_Linux公社-Linux系统门户网站
  9. android json 教程 pdf,android用jsonReader来解析json,jsonreaderjson
  10. hibernate注释映射_Hibernate一对一映射示例注释
  11. php在屏幕中间弹窗,屏幕中间弹框的一种写法
  12. c语言电话订餐管理系统
  13. 北京圣思园java视频教程全套_北京圣思园Java8新特性及实战视频教程完整版
  14. 算法7:求用小矩形覆盖大矩形有多少种方式
  15. 2018年秋招大疆机器学习算法工程师在线笔试答题总结
  16. 以太坊的区块和存储(二):区块体之叔区块
  17. 【渝粤题库】陕西师范大学201591 中国古代文学(二)作业(高起本)
  18. 基于Tensorflow 2.x手动复现BERT
  19. Linux刻录光盘win10认不到,win10系统无法读取DVD光驱和刻录光盘的设置方法步骤
  20. 《Java SE实战指南》09:访问级别修饰符(Access level modifiers)

热门文章

  1. 两个正数相乘为什么结果是负数
  2. 大数据面试都问些什么?
  3. Android5更新包,Android5.1无法完成整包的更新
  4. 笔记︱精准营销解决方案以及营销组合评估
  5. 加速网站速度的最佳做法_(2)把样式表放在顶部
  6. 4.数据库表的高级查询
  7. Module build failed: TypeError: Cannot read property 'vue' of undefined
  8. QCon技术干货:个推基于Docker和Kubernetes的微服务实践
  9. 官方demo修改后的webuploader上传预览图片(兼容IE8) github下载回来的有问题
  10. UVM的factory机制