美文网首页
爬虫中的scrapy框架

爬虫中的scrapy框架

作者: 二矢二 | 来源:发表于2019-01-06 20:06 被阅读0次

    Scrapy 框架

    Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。

    框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。

    Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。

    Scrapy的安装介绍

    http://doc.scrapy.org/en/latest

    制作 Scrapy 爬虫 一共需要4步:

    *  新建项目 (scrapy startproject xxx):新建一个新的爬虫项目

    *  明确目标 (编写items.py):明确你想要抓取的目标

    *  制作爬虫 (spiders/xxspider.py):制作爬虫开始爬取网页

    *  存储内容 (pipelines.py):设计管道存储爬取内容

    scrapy框架流程图:

    Scrapy Engine:   引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)部分

    调度器(Scheduler):   调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎

    下载器(Downloader):   下载器负责获取页面数据并提供给引擎,而后提供给spider

    Spiders:   Spider是Scrapy用户编写用于分析response并提取item(即获取到的item)或额外跟进的URL的类。 每 个spider负责处理一个特定(或一些)网站

    Item Pipeline:    Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数 据库中)

    下载器中间件(Downloader middlewares):    下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的 response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能

    Spider中间件(Spider middlewares):     Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出 (items及requests)。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能

    流程总结:

    1.首先下载器下载request回执的html等的response

    2.然后下载器传给爬虫解析

    3.接着爬虫解析后交给调度器过滤,查重等等

    4.最后交给管道,进行爬取数据的处理

    用scrapy框架撸爬虫的步骤(Linux下scrapy框架命令使用)

    1. 新建一个项目    scrapy startproject  '项目名称(baidu)'

    2. 创建一个爬虫文件(进入第一步创建的项目中(cd  baidu/baidu/spider) )最后进入到spider路径下       scrapy genspider 爬虫文件名 域名(被爬取的域 (例如:baidu.com))

    注意:创建爬虫文件必须要在spiders文件下

    3.运行爬虫文件命令  scrapy  crawl  爬虫文件名

    简单介绍一下各个主要文件的作用:

    scrapy.cfg :项目的配置文件,定义了项目的配置文件路径、部署相关信息的内容

    项目(baidu)/ :项目的Python模块,将会从这里引用代码

    baidu/items.py :项目的目标文件,定义了Item的数据结构

    baidu/pipelines.py :项目的数据管道文件,处理item数据

    baidu/settings.py :项目的设置文件、全局的配置

    baidu/jobbolespider/ :存储爬虫代码目录

    进入项目中,首先进入设置(setting)中要修改的内容以及作用:

    什么情况下会用到通用爬虫?

    当我们提取数据的目标网站很有规律,并且各个模块很有规律,我们可以使用通用爬虫

    相关文章

      网友评论

          本文标题:爬虫中的scrapy框架

          本文链接:https://www.haomeiwen.com/subject/rqxdrqtx.html