《Scrapy笔记》 1 — 基本认识

Scrapy是一个基于Twisted的异步处理框架。

engine(已封装)

  • 控制所有模块之间的数据流 ,request、response、item
  • 根据条件触发事件

downloader(已封装)

  • 接收request,返回response

scheduler(已封装)

  • 接收从engine传来的request,再根据engine需要返回request

spiders(对应spiders文件夹下的spider.py)

  • 需要用户编写代码
  • 解析downloader返回的response
  • 返回item给items.py,新request给scheduler
  • 对于简单的数据操作可以直接返回

item pipelines(对应items.py,pipelines.py)

  • 需要用户编写配置代码
  • 在items.py中定义item,在pipelines.py中处理item(清洗,入库)
  • 每个操作要定义创建一个Papeline类,在setting.py的ITEM_PIPELINES中设置顺序,数值小的优先

spider middleware(对应middlewares.py)

  • 用户可以编写配置代码
  • 目的:对请求和爬取项的再处理
  • 功能:修改、丢弃、新增请求或爬取项

downloader middleware(对应middlewares.py)

  • 用户可以编写配置代码
  • 目的:实施engine,scheduler,downloader之间进行用户可配置的控制
  • 功能:修改、丢弃、新增请求或响应

常用命令
scrapy startproject dirname
scrapy genspider spidername domain
scrapy crawl spidername
scrapy shell url

scrapy settings options
scrapy list

数据类型
Request类
class scrapy.http.Request() ,Request对象表示一个HTTP请求,由spider产生,由downloader执行

  • .url Request请求对应的URl地址
  • .method 对应的请求方法,‘GRT’,‘POST’等
  • .headers 字典类型风格的请求头
  • .body 请求内容主体,字符串类型
  • .meta 用户添加的扩展信息,在scrapy内部模块间传递信息使用
  • .copy() 复制该请求

Response类
class scrapy.http.Response(),Response对象表示一个HTTP响应,由downloader生产,由spider处理

  • .url Response对应URL地址
  • .status HTTP状态码,默认是200
  • .headers Response对应的头部信息
  • .body Response对应的内容信息,字符串类型
  • .flags 一组标记
  • .request 产生Response类型对应的Request对象
  • .copy() 复制该响应

Item类
class scrapy.item.Item()

  • Item对象表示一个从HTML页面中提取的信息内容
  • 由spider产生,由item pipeline处理
  • 类似字典类型,可以按字典类型操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值