目录

一、什么是scrapy?

二、Scrapy五大基本构成:

  (1)、调度器(Scheduler):

  (2)、下载器(Downloader):

  (3)、 爬虫(Spider):

  (4)、 实体管道(Item Pipeline):

  (5)、Scrapy引擎(Scrapy Engine):

三、scrap框架架构图

四、Scrapy安装以及生成项目

1、安装scrapy框架所需jar包:

2、创建项目


一、什么是scrapy?

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 后台也应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。

Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

二、Scrapy五大基本构成:

Scrapy框架主要由五大组件组成,它们分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我们分别介绍各个组件的作用。

  (1)、调度器(Scheduler):

  调度器,说白了把它假设成为一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是 什么,同时去除重复的网址(不做无用功)。用户可以自己的需求定制调度器。

  (2)、下载器(Downloader):

  下载器,是所有组件中负担最大的,它用于高速地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的(其实整个框架都在建立在这个模型上的)。

  (3)、 爬虫(Spider):

  爬虫,是用户最关心的部份。用户定制自己的爬虫(通过定制正则表达式等语法),用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。 用户也可以从中提取出链接,让Scrapy继续抓取下一个页面。

  (4)、 实体管道(Item Pipeline):

  实体管道,用于处理爬虫(spider)提取的实体。主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。

  (5)、Scrapy引擎(Scrapy Engine):

  Scrapy引擎是整个框架的核心.它用来控制调试器、下载器、爬虫。实际上,引擎相当于计算机的CPU,它控制着整个流程

三、scrap框架架构图

四、Scrapy安装以及生成项目

1、安装scrapy框架所需jar包:

打开终端cmd,依次执行如面几条指令:

python -m pip install --upgrade pippip install wheelpip install lxmlpip install twistedpip install pywin32pip install scrapy

2、创建项目

scrapy startproject 项目名scrapy genspider 爬虫名 域名scrapy crawl 爬虫名

工程目录:

|-ProjectName #项目文件夹|-ProjectName #项目目录|-items.py #定义数据结构|-middlewares.py #中间件|-pipelines.py #数据处理|-settings.py #全局配置|-spiders|-__init__.py #爬虫文件|-baidu.py|-scrapy.cfg #项目基本配置文件

scrapy框架爬虫相关推荐

  1. Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息

    Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息 目录 输出结果 实现代码 输出结果 后期更新-- 实现代码 import scrapy class Dmoz ...

  2. Python基础知识回顾及scrapy框架爬虫基础

    1.函数 函数参数:必须 默认 关键 可变 函数种类:外部 内部 匿名 lambda 装饰函数:@语法糖 函数总是要返回的 ,若没有return,None总是被返回   2.面向对象: 对象:已存在, ...

  3. Scrapy框架爬虫—以京东众筹为例

    Scrapy框架爬虫--以京东众筹为例 第一步, 打开命令提示符,创建一个Scrapy框架: 第二步,定位到创建的文件夹: 第三步,在spider文件夹中创建一个.py文件(注:不要关闭命令提示符): ...

  4. Scrapy框架爬虫案例

    Scrapy框架爬虫案例 1 什么是Scrapy 2 Scrapy架构 3 Scrapy架构图 4 案例 4.1爬取职友集中阿里巴巴招聘岗位 4.2 创建Scrapy项目 4.3 定义Item 4.4 ...

  5. Spider Scrapy 框架爬虫

    scrapy 是一款常用的爬虫框架,可以实现分布式爬虫和高性能的爬虫 scrapy 框架的创建实在cmd命令行下进行的: 首先要在命令行下转到你要创建的文件夹下: cd 目标文件夹路径 创建的是一个工 ...

  6. 十 web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令

    Scrapy框架安装 1.首先,终端执行命令升级pip: python -m pip install --upgrade pip 2.安装,wheel(建议网络安装) pip install whee ...

  7. python scrapy框架爬虫_Python Scrapy爬虫框架

    Scrapy爬虫框架结构: 数据流的3个路径: 一: 1.Engine从Spider处获得爬取请求(Request) 2.Engine将爬取请求转发给Scheduler,用于调度 二: 3.Engin ...

  8. python scrapy框架爬虫当当图书网

    最近在复习scrapy框架,就随便找了个网站做了一下爬虫,当当网,说实话这种网站还是比较好做爬虫的,我没加代理,也没限速,没写多线程,就直接搞下来了,数据量还是比较可观的.接下来进入正题: 先看一下整 ...

  9. Python爬虫之Scrapy框架爬虫实战

    Python爬虫中Scrapy框架应用非常广泛,经常被人用于属于挖掘.检测以及自动化测试类项目,为啥说Scrapy框架作为半成品我们又该如何利用好呢 ?下面的实战案例值得大家看看. 目录: 1.Scr ...

  10. (Scrapy框架)爬虫获取百度新冠疫情数据 | 爬虫案例

    目录 前言 环境部署 插件推荐 爬虫目标 项目创建 webdriver部署 项目代码 Item定义 中间件定义 定义爬虫 pipeline输出结果文本 配置文件改动 验证结果 总结 前言 闲来无聊,写 ...

最新文章

  1. SQL性能优化之索引优化法
  2. mysql与access数据库_mysql数据库和access数据库有什么不同吗?
  3. 《Scala机器学习》一一第3章 使用Spark和MLlib
  4. dedecms php5.4 无法退出后台,解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法...
  5. 古诗-豪放派和婉约派
  6. 一个域名可以绑定多个公众号_如何在同一个浏览器中同时登录多个公众号?
  7. 2018值得一看的GAN论文回顾
  8. 菜鸟教程 php mysql_PHP MySQL 读取数据 | 菜鸟教程
  9. 8-9 实现原理-1
  10. Web Part加载错误的一点经验
  11. Mysql重新安装(ubuntu)
  12. 凤凰刷机找不到手机设备的解决方法
  13. 南京邮电大学MOOC高级程序语言设计(C++)第六章编程题答案
  14. 大地测量学基础(复习)第二部分
  15. 基于springboot,vue旅游信息推荐系统
  16. 自定义九宫格控件NineGridLayout ,实现微信朋友圈图片九宫格显示
  17. 微信小程序封装分享与分销功能
  18. STL容器迭代器的理解
  19. 【企业微信开发】企业微信开发测试推送应用消息流程
  20. 汽车传动轴的优化设计matlab,传动轴的优化设计

热门文章

  1. Google提供Fastboot和ADB单独下载服务(转载)
  2. 【计算机网络】-- 第一章--概述(概念、组成、功能、分类、性能指标、体系结构)
  3. Grown Up Digital: How the Net Generation is Changing Your World
  4. Pytorch 模型 查看网络参数的梯度以及参数更新是否正确,优化器学习率设置固定的学习率,分层设置学习率
  5. Linux命令之cat和tac篇
  6. 服务器 备案 文档,备案需要备案服务器
  7. 基于无监督深度学习的单目深度和自身运动轨迹估计的深度神经模型
  8. Python实现特定格式的时间差自动计算
  9. 从Palm到Pocket PC(转)
  10. java:/comp/env_启动日志中就出现[java:comp/env/spring.liveBeansView.mbeanDomain] not found这个日志...