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传递给下一个即将执行的管道类
  • 相关阅读:
    extjs__(grid Panel绑定数据)
    web项目中对post请求乱码处理
    lucene之Field属性的解释
    spring整合mybatis框架
    jasperreports实现pdf文档的生成
    ireport图形化界面生成pdf文档
    iText框架(生成pdf文档)
    spring配置问题
    动手实践PHP7的HashTable
    基于epoll实现一个IO多路复用的回声服务器
  • 原文地址:https://www.cnblogs.com/straightup/p/13693396.html
Copyright © 2011-2022 走看看