美文网首页
scrapy入门

scrapy入门

作者: 以后的以后_hzh | 来源:发表于2018-01-17 10:44 被阅读0次

1.scrapy概述

官方网站:http://scrapy.org [orginzation]
使用Python开发的主要数据采集的一个应用程序框架,核心使用它来进行爬虫程序的快速开发,底层使用了twisted异步模块,所以在进行数据采集下载时效率非常高!

Windows下:安装分两步进行

1.1 先安装scrapy

#管理员身份运行cmd窗口
pip install scrapy
or
easy install scrapy
注意:

安装完scrapy之后,可以正常的进行scrapy项目的开发,但是在windows上运行项目会出现问题,如果出现类似WinError这样的问题,请安装下面的模块

1.2安装win32

#需要安装一个pypiwin32模块,用于scrapy模块可能调用win底层c库进行函数操作
pip install pypiwin32

2.项目开发———创建scrapy项目

通过执行如下命令,来创建scrapy项目

#通过scrapy命令,加上startproject选项,创建一个名称为spider_name的爬虫项目
scrapy startproject <spider_name>

在pycharm中直接运行工具中的cmd终端窗口,执行如下命令创建一个爬虫项目

scrapy startproject myspider
注意:关于终端窗口、命令窗口、shell窗口
 windows系统中:终端窗口、命令窗口 => cmd窗口
        win10:shell窗口:power shell   可以执行常见的linux          
        命令。
        终端窗口:Terminal
ubantu(like linux/unix)系统中:终端:shell>shell 命令窗口
        Terminal > shell窗口
Mac OS:终端》shell窗口

创建好的项目文件结构如下:

|--myspider/ 项目根目录
      |--scrapy.cfg 项目配置文件 [cfg:config]
      |--myspider/  爬虫  模块->以后的爬虫程序开发都在这个模块中
              |--spiders/ 爬虫程序所在的目录
              |--items.py   采集的数据->定义封装模型类的模块
              |--pipelines.py  采集的数据->采集完成之后进行数据验证、存储的模块
              |--middlewares.py  中间键定义的模块
              |--settings.py  项目设置模块

3.开发爬虫程序

(1)分析爬虫要采集的url地址,分析采集的数据字段

[http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=%E7%88%AC%E8%99%AB&sm=0&sg=cab76822e6044ff4b4b1a907661851f9&p=1](http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=%E7%88%AC%E8%99%AB&sm=0&sg=cab76822e6044ff4b4b1a907661851f9&p=1)

[http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=%E7%88%AC%E8%99%AB&sm=0&sg=cab76822e6044ff4b4b1a907661851f9&p=2](http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=%E7%88%AC%E8%99%AB&sm=0&sg=cab76822e6044ff4b4b1a907661851f9&p=2)
招聘岗位:  job
发布公司:  company
薪水待遇:  salary

(2).定义采集的字段封装的Item类型,在items.py模块中,定义item类

我们通过scrapy项目中的items.py模块定义封装采集数据字段的类型
为了能使用scrapy提供的各种内置功能,让定义的类型继承自scrapy.Item类型;类型中的字段属性通过scrapy.Field()进行定义!

import scrapy

class ZhilianItem(scrapy.Item):
    '''
    自定义封装智联招聘的item类型,用于封装采集到的智联网站的数据
    '''
    # 定义属性字段
    job = scrapy.Field()
    company = scrapy.Field()
    salary = scrapy.Field()

(3) 在spiders/zhilianspider.py中开发爬虫程序,采集初步数据

为了可以直接使用scrapy内置的爬虫操作,让scrapy自动采集数据,我们需要定义一个爬虫处理类

   在spiders/zhilianspider.py模块中定义ZhilianSpider类型

   继承自scrapy.Spider

   类型中的属性:name属性~爬虫名称,用于在命令行启动爬虫时调用

   类型中的属性:start_urls属性~采集数据的初始url地址[列表、元组]

   类型中的属性:allowed_domains属性~采集数据的网站域名限制

   类型中的方法:parse(self, response)采集完数据之后自动执行的函数

(4) 核心:在pipelines.py模块中,定义处理Item数据的piplelines,将数据存储到数据库中给其他项目做数据准备

备注:

引擎:engine->scrapy引擎模块:engine.py
调度器:scheduler->scrapy调度模块:scheduler.py

相关文章

  • scrapy笔记

    1 scrapy的运行原理 参考:Learning Scrapy笔记(三)- Scrapy基础Scrapy爬虫入门...

  • Scrapy入门案例

    Scrapy入门案例 Scrapy教程: 官方 《Scrapy 1.5 documentation》 中文 《S...

  • scrapy小记

    scrapy入门学习地图 scrapy 框架:http://doc.scrapy.org/en/latest/to...

  • 28.scrapy的入门使用

    scrapy的入门使用 学习目标: 掌握 scrapy的安装 应用 创建scrapy的项目 应用 创建scrapy...

  • scrapy入门使用及pycharm远程调试

    一·scrapy的入门使用 scrapy的安装 创建scrapy项目 创建scrapy爬虫:在项目目录下执行 运行...

  • (大纲37)Python07爬虫 第4节、scrapy框架

    7、爬虫4、scrapy框架 1.4.0Scrapy框架1.4.1配置安装1.4.2入门案例1.4.3Scrapy...

  • scrapy 学习日记

    文章出处:【scrapy】学习Scrapy入门 整体结构 引擎(Scrapy Engine),用来处理整个系统的数...

  • scrapy折腾系列01

    scrapy爬虫折腾 1、scrapy爬虫入门 scrapy是框架,好比一辆车子,beautifulsoup好比一...

  • DC-01:爬虫框架scrapy入门

    本主题主要是scrapy入门,包含内容如下:  1. Scrapy框架环境搭建;  2. 理解scrapy框架结...

  • Scrapy简记

    摘自Scrapy 中文文档 一:入门 scrapy startproject tutorial创建新的爬虫项目 s...

网友评论

      本文标题:scrapy入门

      本文链接:https://www.haomeiwen.com/subject/hxuyoxtx.html