scrapy框架

1. scrapy框架

1.1 scrapy概述

  • 定义

    异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架
    
  • 安装

    1】Ubuntu安装
    	sudo pip3 install Scrapy
            
    【2】Windows安装
    	python -m pip install Scrapy
    
        如果安装过程中报如下错误 : 'Error: Microsoft Vistual C++ 14.0 is required xxx'
        则安装Windows下的Microsoft Vistual C++ 14.0 即可(笔记spiderfiles中有)
    

1.2 scrapy组件及流程

  • Scrapy框架五大组件

    1】引擎(Engine)----------整个框架核心
    【2】爬虫程序(Spider)------数据解析提取
    【3】调度器(Scheduler)-----维护请求队列
    【4】下载器(Downloader)----获取响应对象
    【5】管道文件(Pipeline)-----数据入库处理
    
    
    【两个中间件】拦截
        下载器中间件(Downloader Middlewares)
            引擎->下载器,包装请求(随机代理等)
        蜘蛛中间件(Spider Middlewares)
            引擎->爬虫文件,可修改响应对象属性
    
  • scrapy爬虫工作流程

    1】爬虫项目启动,由引擎向爬虫程序索要第一批要爬取的URL,交给调度器去入队列
    【2】调度器处理请求后出队列,通过下载器中间件交给下载器去下载(request)3】下载器得到响应对象后,通过蜘蛛中间件交给爬虫程序
    【4】爬虫程序进行数据提取:
        4.1) 数据交给管道文件去入库处理
        4.2) 对于需要继续跟进的URL,再次交给调度器入队列,依次循环
    

1.3scrapy命令

1】创建爬虫项目 : scrapy startproject 项目名
【2】创建爬虫文件
    2.1) cd 项目文件夹
    2.2) scrapy genspider 爬虫名 域名
【3】运行爬虫
    scrapy crawl 爬虫名

1.4 scrapy目录结构

  • scrapy项目目录结构

    Baidu                   # 项目文件夹
    ├── Baidu               # 项目目录
    │   ├── items.py        # 定义数据结构
    │   ├── middlewares.py  # 中间件
    │   ├── pipelines.py    # 数据处理
    │   ├── settings.py     # 全局配置
    │   └── spiders
    │       ├── baidu.py    # 爬虫文件
    └── scrapy.cfg          # 项目基本配置文件
    
  • settings.py常用变量

    1】USER_AGENT = 'Mozilla/5.0'2】ROBOTSTXT_OBEY = False
        是否遵循robots协议,一般我们一定要设置为False3】CONCURRENT_REQUESTS = 32
        最大并发量,默认为164】DOWNLOAD_DELAY = 0.5
        下载延迟时间: 访问相邻页面的间隔时间,降低数据抓取的频率
    【5】COOKIES_ENABLED = False | True
        Cookie默认是禁用的,取消注释则 启用Cookie,即:TrueFalse都是启用Cookie
    【6】DEFAULT_REQUEST_HEADERS = {}
        请求头,相当于requests.get(headers=headers)
    

1.5 scrapy爬虫步骤

1】新建项目和爬虫文件
    scrapy startproject 项目名
    cd 项目文件夹
    新建爬虫文件 :scrapy genspider 文件名 域名
【2】明确目标(items.py)3】写爬虫程序(文件名.py)4】管道文件(pipelines.py)5】全局配置(settings.py)6】运行爬虫
    6.1) 终端: scrapy crawl 爬虫名
    6.2) pycharm运行
        a> 创建run.py(和scrapy.cfg文件同目录)
	      from scrapy import cmdline
	      cmdline.execute('scrapy crawl maoyan'.split())
        b> 直接运行 run.py 即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值