scrapy库学习

scrapy是一个爬虫框架,爬虫框架是实现爬虫功能的一个软件结构和功能组件集合,是一个半成品,能够帮助用户实现专业网站爬虫。
在这里插入图片描述

功能模块分析

  • Engine 整个框架的核心,控制所有模块之间的数据流根据条件触发事件 。
  • Downloader -> 根据请求下载网页 。
  • Scheduler ->对所有爬取请求进行调度管理。
    (以上三个模块用户是不需要编写的,因为scrapy已经把他们实现的很好了。如果有必要修改,通过修改Downloader Middleware 模块来实现。)
  • Downloader Middleware ->实施上面三者之间进行用户可配置的控制,修改,丢弃,新增请求或响应。
  • Spider
    • 解析Downloader返回的响应(Response)
    • 产生爬取项(scraped item)
    • 产生额外的爬去请求(Request)
  • Item Pipelines ->以流水线方式处理Spider产生的爬取项。可能操作包括:清理,检验,和查重爬取项中的HTML数据,将数据存储到数据库。
    (上面的spider和item pipelines模块都是需要用户自己配置代码的)
  • Spider Middleware ->对请求和爬取项的再处理,修改,丢弃,新增请求或爬取项。

requests vs Scrapy
相同点:两者都可以进行页面请求和爬取,Python爬虫的两个重要技术路线。两者都没有处理js,提交表单,应对验证码等功能(可扩展)
不同点:requests:网页级爬虫,功能库。Scrapy:网站级爬虫,框架。

在这里插入图片描述

Scrapy爬虫的使用步骤:

  • 创建一个工程和Spider模板
  • 编写Spider
  • 编写Item Pipeline
  • 优化配置策略

Scrapy爬虫的数据类型:Request类,Response类,Item类
Request对象表示一个HTTP请求,由Spider生成,由Downloader执行。
在这里插入图片描述
Response对象表示一个HTTP响应,由Downloader生成,由Spider处理。
在这里插入图片描述
item对象表示一个从HTML页面中提取的信息内容,由spider生成,由item pipeline处理。
HTML信息提取的方法:

  • Beautiful Soup
  • Ixml
  • re
  • Xpath Selector
  • CSS Selector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值