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传递给下一个即将执行的管道类
  • 相关阅读:
    时间戳转换
    DIV背景半透明文字不半透明的样式
    转 JavaScript中判断对象类型的种种方法
    AllJoyn 了解
    Oracle 跨库 查询 复制表数据
    SQL Server 跨数据库查询
    Jersey RESTful Web服务
    【项目管理】项目启动阶段 -- 制定项目章程
    多项目同时进行如何做好进度管理?
    svn版本管理
  • 原文地址:https://www.cnblogs.com/straightup/p/13693396.html
Copyright © 2011-2022 走看看