Scrapy爬虫框架使用Ⅰ

  • 什么是爬虫框架?

    • 就是具有很强通用性且集成了很多功能的爬虫项目模板
  • Scrapy集成好的功能:

    • 高性能的数据解析操作(xpath)
    • 高性能的数据下载功能(异步)
    • 高性能的数据持久化存储(管道) **
    • 中间件机制(拦截请求和响应)
    • 全站数据爬取操作
      • 将一个网站所有页面的数据进行爬取
    • 分布式(搭建集群):redis
    • 请求传参的机制(深度爬取) **
    • scrapy中合理的应用selenium
  • 环境的安装

  • 创建工程(在终端进行)

    • scrapy startproject ProName
    • cd ProName
    • scrapy genspider first www.xxx.com (这个网址可以随便写,工程建立后可以修改的)
    • 执行 scrapy crawl spiderName
    • settings文件配置:
      • 不遵从robots协议
      • UA伪装
      • 日志等级 LOG_LEVEL = 'ERROR'
      • 日志输出 LOG_FILE = 'log.txt'
  • scrapy的数据解析

  • scrapy的持久化存储

    • 基于终端指令:
      • 只可以将parse方法的返回值存储到磁盘文件中
      • scrapy crawl first -o file.csv
    • 基于管道: pipelines.py
      • 编码流程
        • 1.数据解析
        • 2.在item的类中定义相关的属性
        • 3.将解析的数据存储封装到item类型的对象中,item['p']
        • 4.将item对象提交给管道
        • 5.在管道类中的process_item方法负责接收item对象,然后对item对象进行任意形式的存储
        • 6.在配置文件中开启管道
      • 细节补充:
        • 管道文件中的一个管道表示将数据存储到某一种形式的平台中
        • 如果管道文件中定义了多个管道类,爬虫类提交的item会给到谁?
          • 优先级最高的管道类
        • 在process_item方法中的return item表示将item传递给下一个即将执行的管道类
原文地址:https://www.cnblogs.com/straightup/p/13693396.html