博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapy框架快速创建项目命令、框架的结构
阅读量:6079 次
发布时间:2019-06-20

本文共 1010 字,大约阅读时间需要 3 分钟。

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框架,由浅入深、横向整合,力求让读者形成完整的知识框架。

转载地址:http://njagx.baihongyu.com/

你可能感兴趣的文章
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>
CSS3让长单词与URL地址自动换行——word-wrap属性
查看>>
CodeForces 580B Kefa and Company
查看>>
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>