scrapy框架学习

1:scrapy前导

1.1:为什么学习scrapy框架

  • 是学习爬虫必备的技术
  • 在面试的时候可能会提及scrapy框架
  • 可以使自己的爬虫更快、更强大

1.2:什么是scrapy框架

  • 是一个异步爬虫框架,可以让爬虫“飞”起来
  • scrapy框架是基于异步Twisted异步网络架构的;注意:Twisted是在内部实现的异步,程序非常复杂,我们只要学会用就行了,不用知道其原理
  • 内部有多线程,也就是说,可以使用多线程爬取,可快可慢

1.3:学习scrapy框架有什么优势

  • 可以使爬虫更快、更强大
  • 可配置性和可拓展性非常高
  • 下载效率高
  • 基于异步的可配置非常高

2:scrapy框架的工作流程

scrapy框架流程图

2.1:各个东西的名字和作用

  • spiders(爬虫程序):整个爬虫的解析处理 (编写逻辑),需要自己来编写
  • scrapy(引擎):整个框架的核心
  • scheduler(调度器):接收从引擎发过来的url入列,在把url发送给引擎
  • Downloader Middlewares(下载中间件):处理引擎和下载器之间的请求与响应(用的是比较多的),主要是编写UA、headers和代理ip,需要自己编写逻辑
  • Downloader(下载器):发请求获取网页响应,得到因特网络上的网页数据
  • Spiders Middlewares(爬虫中间件):爬虫中间件处理爬虫程序的响应和输出结果以及新的请求
  • Item(管道):数据处理(存储数据) ,编写存储数据的地方,自己编写逻辑

2.2:工作流程

  • 1:爬虫程序把url发送给引擎,由引擎管理url
  • 2:引擎在把爬虫程序发送过来的url分配给调度器,调度器把发送过来的url入队列
  • 3:调度器从队列中拿出一个url发送给引擎
  • 4:引擎得到url,引擎通过下载中间件把url分配给下载器
  • 5:下载器通过由下载中间件发送过来的url向因特网放弃请求获得网页的数据
  • 6:网页数据由下载器通过下载中间件发送给引擎,由引擎管理
  • 7:引擎把得到的网页数据通过爬虫中间件分配给爬虫程序,由爬虫程序来解析网页中的数据
  • 8:爬虫程序把已经解析好的数据发送给引擎,由引擎管理,引擎把得到解析的数据分配给管道
  • 9:管道把得到的数据通过特定的方式保存起来
  • 10:继续循环上面的步骤

3:scrapy快速入门

3.1:创建scrapy步骤

  • 注意:需要在电脑的控制台、PyCharm的终端支持代码
  • 1:跳转地址
    • 先把地址跳转到要创建scrapy项目的目录下面,这点很重要
  • 2:创建scrapy框架项目
    • 在这个地址之下创建scrapy项目,需要咋控制台、pycharm终端输入代码scrapy startproject scrapy项目名字
  • 3:生成一个爬虫
    • scrapy genpider 爬虫的名字 要获取数据的最大地址
  • 4:提取数据
    • 完善spider 使用xpath等解析工具,注意可以咋scarpy框架当中可以直接使用xpath类中的方法
  • 5:保存数据
    pipeline中保存数据

3.2:文件的意思

  • 主要阐述,scarpy框架下面的文件夹的意思和功能
  • items.py:定义爬取的数据,提前做一个数据封装,起一个封装数据的作用
  • middlewares.py:当中有爬虫中间件类和下载中间件的类
  • pipelines.py:传说中的管道,item为传到管道的数据,如果在管道这里可以打印出来数据,就可以保存数据了
  • settings.py:一个设置的文件,主要是配置一些爬虫的设置

3.3:运行scarpy爬虫

  • scarpy框架下面的爬虫的运行和普通的爬虫文件的运行方式不一样,需要在电脑的dos命令或者pycharm的终端输入代码才可以运行爬虫程序
  • 方法一:在pycharm的终端运行代码
    • 代码scarpy crawl 爬虫文件的名字
  • 在scarpy框架下面建立一个py文件来运行爬虫
    • 1:先在爬虫项目的下面新建一个py文件,在py文件中运行程序
    • 2:py文件中的代码
from scrapy import cmdline

cmdline.execute("scrapy crawl 爬虫的名字".split())
# 或者
cmdine.execute(['scrapy', 'crawl','p爬虫的名字'])

3.3:scrapy框架爬虫的返回值

  • scrapy框架爬虫的返回值是在pycharm的终端打印出来的
  • 前面打印的数据是一些平台的配置,从 Spider opened开始,后面的数据才是爬虫从网络上爬取下面的数据

4:使用scrapy开发爬虫需要注意的事情

  • 1:一定要现在setting.py文件中的请求报头中添加UA要不然返回不了数据
  • 2:在使用scrapy框架的时候可以直接使用xpath这个解析方法,不需要在去添加这个模块了
  • 3:在爬虫文件中的response就是爬虫爬取的源码数据,pages就是我们要编写的爬虫的解析函数
  • 4:在使用xpath的时候一定一定要把标签名给写正确了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值