Python爬虫 scrapy框架 原理,scrapy开发流程

这里写图片描述

  1. Scrapy Engine 引擎
    处理整个系统,是各个模块之间的联系人,各个模块的数据均需要引擎来发送和收回
  2. Scheduler 调度器
    a.接收请求,压入队列
    b.引擎再次请求时返回请求
  3. Downloader 下载器
    接收请求request,返回响应response
  4. Spider 爬虫
    a.发起起始的请求 start_url
    b.定义如何爬取下一个网站 call_back
  5. Item Pipeline 管道
    定义数据的后续处理
  6. Middleware 中间件
    a. Downloader Middleware 下载器中间件
    处理引擎和下载器之间的请求request和响应response (反反爬)
    b. Spider Middleware 爬虫中间件
    处理spider的响应输出和请求输入

scrapy开发流程:

1 创建项目

scrapy startproject 项目名称

2 明确要爬取的网站数据,在items.py中建模
3 setting中对项目进行配置,scrapy.cfg远程部署配置
4 创建爬虫,spiders文件夹存放爬虫文件

# 命令行创建
scrapy genspider 爬虫名 爬虫允许的域名

# 手动创建
在spiders文件夹下创建py文件

import scrapy
导入模型(items中该爬虫的数据模型)

爬虫类(类名一般为"爬虫名Spider")必要类属性:
name 爬虫名
allowed_domains 允许爬取的域名
start_urls 起始爬取的url列表

必要方法
def parse(self,response):
    写入数据获取和处理方法,以及后续url的操作

5 保存数据 pipeline.py进行爬取数据的存储设置
该类一般有三个方法

def __init___(self): 或者是 open_spider(self)
    # 定义初始状态,一般为打开一个文件,或者是链接数据库的必要参数等
    f = open("file","w")

def process_item(self,item,spider):
    定义数据存储过程
    item为在爬虫.py文件中yield返回给引擎的爬取数据

def close_spider(spider):
    定义数据存储完毕的状态,一般为关闭文件或者是断开数据库服务器链接

6 运行爬虫

scrapy crawl 爬虫名

7 feed输出
将获取到的数据返回给引擎,并Feed输出,给其他平台进行数据分析

scrapy crawl 爬虫名 -o 文件名.json
scrapy crawl 爬虫名 -o 文件名.xml 等等

如果不记得什么格式,只需要随便写点后缀,会提示都有什么格式
scrapy crawl 爬虫名 -o 文件名.xmladfsa 

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值