zoukankan      html  css  js  c++  java
  • Python爬虫教程-31-创建 Scrapy 爬虫框架项目

    本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细

    Python爬虫教程-31-创建 Scrapy 爬虫框架项目

    • 首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装
    • Anaconda 下载地址:https://www.anaconda.com/download/

    Scrapy 爬虫框架项目的创建

    • 0.打开【cmd】

    • 1.进入你要使用的 Anaconda 环境

      • 1.环境名可以在【Pycharm】的【Settings】下【Project:】下找到
        这里写图片描述

      • 2.使用命令:activate 环境名,例如:

        activate learn

      • 3.进入想要存放 scrapy 项目的目录下 【注意】

      • 4.新建项目:scrapy startproject xxx项目名,例如:

        scrapy startproject new_project

    • 5.操作截图:
      这里写图片描述

    • 6.在文件资源管理器打开该目录,就会发现生成了好几个文件
      这里写图片描述

    • 7.使用 Pycharm 打开项目所在目录就可以了

    这里我们就把项目创建好了,分析一下自动生成的文件的作用

    Scrapy 爬虫框架项目的开发

    • 0.使用 Pycharm 打开项目,截图:
      这里写图片描述
    • 项目的开发的大致流程:
      • 1.明确需要爬取的目标/产品:编写 item.py
      • 2.在 spider 目录下载创建 python 文件制作爬虫:
        • 地址 spider/xxspider.py 负责分解,提取下载的数据
      • 3.存储内容:pipelines.py
    • Pipeline.py 文件
      • 对应 pipelines 文件
      • 爬虫提取出数据存入 item 后,item 中保存的数据需要进一步处理,比如清洗,去虫,存储等
      • Pipeline 需要处理 process_item 函数
      • process_item
        • spider 提取出来的 item 作为参数传入,同时传入的还有 spider
        • 此方法必须实现
        • 必须返回一个 Item 对象,被丢弃的 item 不会被之后的 pipeline
    • _ init _:构造函数
      • 进行一些必要的参数初始化
    • open_spider(spider):
      • spider 对象对开启的时候调用
    • close_spider(spider):
      • 当 spider 对象被关闭的时候调用
    • Spider 目录
      • 对应的是文件夹 spider 下的文件
      • _ init _:初始化爬虫名称,start _urls 列表
      • start_requests:生成 Requests 对象交给 Scrapy 下载并返回 response
      • parse:根据返回的 response 解析出相应的 item,item 自动进入 pipeline:如果需要,解析 url,url自动交给 requests 模块,一直循环下去
      • start_requests:此方法尽能被调用一次,读取 start _urls 内容并启动循环过程
      • name:设置爬虫名称
      • start_urls:设置开始第一批爬取的 url
      • allow_domains:spider 允许去爬的域名列表
      • start_request(self):只被调用一次
      • parse:检测编码
      • log:日志记录

    更多文章链接:Python 爬虫随笔


    - 本笔记不允许任何个人和组织转载
  • 相关阅读:
    计算几何模板1 点部分
    TTimerThread和TThreadedTimer(都是通过WaitForSingleObject和CreateEvent来实现的)
    dddd
    Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)
    VS2010对C++11的支持列表(感觉大部分都不支持)
    VC版本的MakeObjectInstance把WNDPROC映射到类的成员函数
    FpGrowth算法
    Go语言Web框架gwk介绍2
    页面缓存OutputCache
    jquery mobile扁平化设计样式--Jquery mobile Flat UI介绍
  • 原文地址:https://www.cnblogs.com/xpwi/p/9601038.html
Copyright © 2011-2022 走看看