zoukankan      html  css  js  c++  java
  • 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传递给下一个即将执行的管道类
  • 相关阅读:
    vue-修改vue项目运行端口号
    任正非521央视采访全文
    是施压还是真的决裂?
    贸易战风波继续
    华为对封杀的态度和格局
    美国封锁对华为的影响
    布鲁克斯法则 (Brooks's Law)
    2019第20周日
    如何让自己走的更远
    如何应对中年危机
  • 原文地址:https://www.cnblogs.com/straightup/p/13693396.html
Copyright © 2011-2022 走看看