重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我使用的软件是pychram
创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、成都网站建设、成都网站制作、网站优化、软件开发、网站改版等服务,在成都10余年的网站建设设计经验,为成都上千中小型企业策划设计了网站。最近几周也一直在学习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 爬虫名字 运行即可
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧