Scrapy框架快速创建项目命令、框架的结构

Scrapy在爬虫开发领域是非常不错的一款框架,如果要从事爬虫开发那么这款框架一定要非常熟悉,尽管在实际开发中可能用不上,但是其中的架构思想也能让自己写的爬虫质量有不一般的提升。

Scrapy框架快速创建项目命令、框架的结构


Scrapy框架应该掌握的几条命令:


CMD命令行界面执行 scrapy shell [url]

该条命令常用于scrapy开发前的测试,如:scrapy shell 

Scrapy框架快速创建项目命令、框架的结构

执行完该条命令后可运行,view(response)将用默认浏览器打开下载的URL页面。


Scrapy startproject  [name]

该条命令用于创建一个Scrapy框架开发的项目文件,后接项目名

Scrapy框架快速创建项目命令、框架的结构


scrapy genspider [name] [domain]

创建项目后进入项目文件夹,执行该命令快速创建爬虫程序,后接爬虫名、爬去站点的域名,将在spiders文件夹下生成一个基本框架的爬虫程序。

Scrapy框架快速创建项目命令、框架的结构

Scrapy框架快速创建项目命令、框架的结构


scrapy crawl [name] -o [file]

该条命令是运行name名字的爬虫,并将数据保存为file,注意file是带格式的文件名,目前支持json、json lines、csv、xml、pickle、marshal。

上面命令是使用频率最高的命令,记住他们可以事半功倍。


scrapy的框架结构

Scrapy框架快速创建项目命令、框架的结构


scrapy框架分功能模块分为内部组件、用户实现、可选组件,数据分为requests(请求)、response(响应)、Items(提取的数据),三种数据在各个功能组件之间流动,从而实现了页面的下载——解析——再下载的循环过程。


其工作过程:

  • 用户编写爬虫主程序将需要下载的页面请求requests递交给引擎

  • 引擎将请求转发给调度(调度实现了优先级、去重等策略)

  • 调度从队列中取出一个请求,交给引擎转发给下载器(引擎和下载器中间有中间件,作用是对请求加工如:对requests添加代理、ua、cookie,response进行过滤等)

  • 下载器取回页面后,交由引擎转发给爬虫主程序解析,这个时候解析函数将产生两类数据,一种是items、一种是requests(新请求),其中requests按上面步骤交给调度器;items交给数据管道(数据管道实现数据的最终处理)


scrapy框架再我们自定义开发中,具有很好的参考作用,其中高可扩展性、低耦合值得深入学习。


同时本月的写作主题是scrapy框架,由浅入深、横向整合,力求让读者形成完整的知识框架。

上一篇:《Spring Boot官方指南》(二)入门(一)


下一篇:Spring官网下载dist.zip的几种方法