python爬虫scrapy框架基础

我使用的软件是pychram

最近几周也一直在学习scrapy,发现知识点比较混乱,今天来总结一下。我是按照《精通python网络爬虫核心技术框架与项目实战》这本书来写的。讲的比较简洁,想要详细了解的可以看看书或者视频。

scrapy框架运行的原理

首先scrapy引擎会将蜘蛛爬虫(spider)中设置的起始网址传递到调度器中

第一步:过程(1)是调度器(Scheduler)将要爬取的网址传递到scrapy引擎中,调度器是一个优先队列,根据优先级按顺序传递到scrapy引擎中
第二步:过程(2)是scrapy收到
调度器(Scheduler)传递的网址,将网址传给下载中间件(Downloader Middlewares)

第三步:过程(3)是下载中间件(Downloader Middlewares)将收到的网址传递给下载器

第四步:下载器接收到要下载的网址,过程(4)是下载器向互联网发送request请求,进行网页的下载

第五步:互联网中对应的网址收到request请求之后,会有相应的response响应,过程(5)是将response响应传给下载器

第六步:下载器接收到了response响应即对网址进行了下载,过程(6)将对应的响应传送给下载中间件

第七步:下载中间件收到response请求后,与scrapy引擎通信,过程(7)是将response响应传到scrapy引擎

第八步:过程(8)是scrapy引擎将response响应传给爬虫中间件

第九步:过程(9)是爬虫中间件将response响应传给对应的蜘蛛爬虫(spider)进行处理

第十步:蜘蛛爬虫(spider)进行处理response响应,一般会有两个东西,提取出来的数据和新的请求信息,然后过程(10)将处理后的信息传递给爬虫中间件

第十一步:过程(11)是爬虫中间件将处理后的信息传给scrapy引擎

第十二步:scrapy引擎收到爬虫处理后的信息之后,会同时进行过程(12)和过程(13),过程(12)将提取出来的项目实体item传递给实体管道,由实体管道(Pipeline)做进一步的信息处理,过程(13)是将提取出来的新的请求信息传递给调度器,由调度器对网址进一步传递

整个过程就是不断的重复过程(1)到过程(13),直到调度器没有可传递的网址为止

以下是我做的笔记

一.认识scrapy的目录结构

以我自己的一个项目为例,使用scrapy创建一个爬虫项目,他会同时生成一个与爬虫项目名称相同的文件夹,这里是spider1128(主文件夹后面我自己重命名了)

同名子文件夹放置的是项目的核心代码,其中scrapy.cfg是爬虫项目的配置文件,spiders文件下,除了auto.py是自己创建的编写文件之外,其他都是创建项目时附带的。后面将会详细的讲解这些配置文件的作用

二.用scrapy进行项目的创建

1.2.创建项目命令 在软件的终端中使用这个命令 scrapy startproject 项目名

然后就可以在指定目录中找到这个项目啦~~~~

2.在项目路径下创建爬虫文件 scrapy genspider 文件名 域名

爬虫文件有basic crawl csvfeed xmlfeed 这几个模板,若要指定模板可用命令 scrapy genspider -t 模板 文件名 域名 若没有指定,则默认basic模板

我这里创建了bookdate这个爬虫文件,要爬取的域名为dangdang.com

-------------------------

这样整个项目已经创建好了,剩下就是编写代码的

---------------------------------

 三.运行爬虫软件

在终端输入命令 scrapy crawl 爬虫名字 运行即可

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值