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

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

0fd4eac64a2dabec98aeb1b238640ec7.png

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

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

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

f95d9e47e2cb0fbf4d395e16df0945d2.png

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

Scrapy startproject [name]

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

7613340b1a015edca60fc36d1329200d.png

scrapy genspider [name] [domain]

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

00865f4a523067d2bda4cb63321664b7.png

c801ab6bf5bb4a53ef76c8c053d9a742.png

scrapy crawl [name] -o [file]

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

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

scrapy的框架结构

782dabef0ccba16200f70f0679b441ba.png

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

其工作过程:

  • 用户编写爬虫主程序将需要下载的页面请求requests递交给引擎
  • 引擎将请求转发给调度(调度实现了优先级、去重等策略)
  • 调度从队列中取出一个请求,交给引擎转发给下载器(引擎和下载器中间有中间件,作用是对请求加工如:对requests添加代理、ua、cookie,response进行过滤等)
  • 下载器取回页面后,交由引擎转发给爬虫主程序解析,这个时候解析函数将产生两类数据,一种是items、一种是requests(新请求),其中requests按上面步骤交给调度器;items交给数据管道(数据管道实现数据的最终处理)

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值