栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Scrapy框架理论

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scrapy框架理论

Scrapy框架 1. 框架
  • 什么是框架
    • 就是一个集成了很多功能并且具有很强通用性的一个项目模板
    • 可以认为就是一个较为通用的项目模板
    • 一个项目的半成品
  • 如何学习框架
    • 专门学习框架封装的各种功能的详细用法
  • 什么是Scrapy
    • 爬虫中封装好的一个框架,功能强大,使用较多
    • 功能(优点)
      • 高性能的持久化存储
      • 异步数据的下载
      • 高性能的数据解析
      • 分布式
2. 基本使用 2.1 Scrapy环境的安装
  1. 直接通过pip命令安装(方便、快捷)
# pip install Scrapy
  1. 下载相关文件后安装(比较麻烦)
    1. pip install wheel
    2. 下载twisted,地址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
    3. pip install pywin32
    4. pip install scrapy
  • 测试:终端中输入scrapy命令,没有报错即为安装成功
2.2 基本使用(使用步骤)
  1. 创建工程:scrapy startproject 项目名
  2. 进入项目:cd 项目名
  3. 在spiders子目录下创建爬虫文件
    • scrapy genspider 爬虫名 网址
    • 例如:scrapy genspider first www.first.com
  4. 执行爬虫
    • scrapy crawl 爬虫名
3. 数据解析
  • xpath解析
    • response.xpath(‘’)
    • 返回的是列表,列表元素是Selector对象
    • 从Selector对象返回data参数:使用extract()
    • 也可以使用 .get(“data”)
    • 如果列表调用extract,则表示将列表中的每一个Selector对象中的data值都提取了出来
    • extract_first(),将列表中的第一个元素(下标为0)进行extract操作
4. 持久化存储
  • 基于终端命令
    • 要求:只可以将parse方法的返回值存储到本地的文本文件中
    • 注意:持久化存储对应的文本文件类型只可以是:
      ‘json’, ‘jsonlines’, ‘jl’, ‘csv’, ‘xml’, ‘marshal’, ‘pickle’
    • 指令:scrapy crawl xxx -o 文件名
    • 好处:简洁、高效、便捷
    • 缺点:局限性较强(数据只可以存储到指定后缀的文本文件中)
  • 基于管道
    • 编码流程

      • 数据解析
      • 在item类中定义相关属性
      • 将解析的数据封装存储到item类型的对象中
      • 将item类型的对象提交给管道进行持久化存储操作
      • 在管道类的process_item中要将其接收到的item对象中存储的数据进行持久化存储操作
      • 在配置文件中开启管道
    • 好处

      • 通用性高
    • 面试题:将爬取的数据一份存到本地,一份存到数据库

      • 管道中一个类对应将数据存储到一种平台
      • 爬虫文件提交的item只会给管道文件中第一个被执行的管道类接收
      • process_item中的return item表示将item传递给下一个即将被执行的管道类
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号