您现在的位置是:首页 > 文章详情

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

日期:2019-03-11点击:336

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

2019-03-12-17_21_54.png


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


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

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

2019-03-12-17_21_55.png

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


Scrapy startproject  [name]

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

2019-03-12-17_21_55.png


scrapy genspider [name] [domain]

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

2019-03-12-17_21_55.png

2019-03-12-17_21_55.png


scrapy crawl [name] -o [file]

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

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


scrapy的框架结构

2019-03-12-17_21_56.png


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


其工作过程:

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

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

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

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


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


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

原文链接:https://yq.aliyun.com/articles/693336
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章