云服务厂商都在推荐轻量级的存储队列服务,用来取代原有的比较重的消息队列服务

这个小玩意源于上周在研究Azure的时候,发现云服务厂商都在推荐轻量级的存储队列服务,用来取代原有的比较重的消息队列服务
具体来说,比如阿里云就推荐使用消息服务替代消息队列
在Azure中,就有一个轻量级的存储队列(Storage Queue)可以替代服务总线(Service Bus)

简单试用了一下Azure的Storage Queue后,发现这玩意很好用,于是决定全面的深入研究一下,再将公司电商系统内的相关任务处理均重构成使用存储队列服务,而深入研究得找个案例呀,于是就想到了做个分布式爬虫,此类应用会出现大量的任务场景,而正好前段时间下载B站视频时,找到一个网站,叫唧唧下载(搞二次元的都是色情狂吗?),但又不太好用,于是决定就做个比较全面的B站视频爬虫。一方面可以方便的下载视频,另一方面还可以当做公司开发人员的教学案例

老规矩,还是先看下最终的使用效果,应用入口:https://www.alphams.cn/LT,(为了防止滥用下载以及记录下载,所以还麻烦注册一下啦

输入视频番号,点击下载,就进入任务界面

任务界面可以看到视频信息实时下载信息,和错误信息

任务处理完成后,点击立即下载,从一个CDN加速的地址得到了视频



那么下面就把本次的开发和实施流水账记录一下

1、首先是准备工作和可行性调研

想要对B站进行爬虫,首先要准备好技术手段和相关工具,对B站的网站结构和数据流向进行一些分析,进行可行性的调研

首先打开B站任意一个视频,可以看到地址都是这样的格式

于是我们把AV后面的号码叫做番号(此番号非老司机番号)

而有些视频不止一段,如果是第二段视频,则是这个地址:

而如果把Index后面的2换成1,也可以达到和第一个地址一样的效果

然后用Fidder工具,分析一下网页,可以看到有如下一些资源

剔除基本的JS文件、CSS文件、图像文件后,剩下来的就是一些有用的信息了,而在有用的信息中最终筛选出如下几个信息

1、AID是视频的番号,也就是网址URL后面的那串唯一数字

2、CID是弹幕的番号,每个视频AID会对应一个CID

3、弹幕的信息存储在了这样的URL中:http://comment.bilibili.com/15075110.xml

4、视频的信息存储在了这样的URL中:https://interface.bilibili.com/playurl?cid=15075110&appkey=84956560bc028eb7&otype=json&type=&quality=3&sign=c070bfd93a84cab542e7c874add6839e

因为本次主要是下载视频,所以就着重看一下视频存储的信息,打开上面的URL后发现了最终视频的地址

太好了,一下子就给了视频尺寸视频最终的下载地址,那么我们用浏览器打开一下这个URL看一下,可以成功下载

注:以上相关分析实际上是经过了1-2个小时的反复尝试和模拟得出的,有2个细节补充一下,1、B站的服务器会根据HTTP头信息的不同返回FLV格式或者MP4格式,2、B站的视频可能用了不同厂商的CDN服务,有些视频地址无法直接下载,会判断refer信息和浏览器信息

接下来继续分析,注意看这个URL可以发现,尾部有一个sign,说明做了客户端和服务端的签名验证,并不是很傻瓜的有直接通过AID或者CID关联的下载地址,分析进入到这一步后,我很快的就打了自己的脸,我曾在文章《关于.NET玩爬虫这些事》中说过,一切网站行为都可以分析出HTTP+Javascript来,只要分析得当,根本不需要用浏览器来进行爬虫模拟,但这尼玛B站鬼的Web结构(忍不住想骂人,典型的垃圾Python、PHP向的开发人员做出来的鬼东西,代码逻辑混乱、随便一看就是到处修补修改的痕迹,生成出来的HTML、JS的逻辑和层次毫无美感),看了2个小时,眼睛都看疼了,楞是没分析出签名方法,也许再看看会有结果,但是我等不及了,所以这时候祭出爬虫神器-无头浏览器

这里我选择了PhantomJS这个无头浏览器,具体的使用过程就不详述了,有兴趣可以到官网了解一下

http://www.cnblogs.com/printhelloworld/p/6944343.html

 

时间: 2024-11-01 20:10:06

云服务厂商都在推荐轻量级的存储队列服务,用来取代原有的比较重的消息队列服务的相关文章

WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ

之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识 (1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的 基础文章.在那篇文章里,我们详细介绍了MSMQ消息队列的基本概念.安装.部 署.开发.调试等相关问题.今天我们来学习WCF分布式开发步步为赢(13):WCF 服务离线操作与消息队列MSMQ.在WCF框架下使用MSMQ消息队列服务编程. 这 里我会给出一个使用WCF MSMQ实现离线请求的DEMO示例程序. 全文结构是:[1]MSMQ基本概念

抱团发展成云服务厂商共识

随着云服务市场规模的持续增长,"抱团"发展成为各大云服务厂商共识. 云服务在美国早已成为IT产业的重要组成部分,通过分析亚马逊.微软.谷歌的云服务运营利润不难发现,云服务赚取的收益占比正日益上升,从开始盈利逐步成为三大巨头最为赚钱的业务之一.反观国内市场环境,2015年国务院发布<国务院关于促进云计算创新发展培育信息产业新业态的意见>,表明要大力推动云计算产业发展,鼓励购买云服务.<意见>出台后,不仅各地政府进一步加速了云服务的部署,各大行业和大型企业也加快自身

国际主流深度学习领域厂商都在忙什么?

文章讲的是国际主流深度学习领域厂商都在忙什么,如果说机器学习的分支中最令人激动的部分当属深度学习,基于深度学习构建的复杂的模式识别系统,提供从自动化语言翻译到图像识别所需的一切功能.深度学习对非结构化数据的处理有很大潜力,只是目前还有很多问题需要解决. ▲图源于网络,侵权可删 不过,没关系.深度学习领域已经有了很多厂商在竞争,比如Google的TensorFlow和百度的PaddlePaddle.但是,目前还不涉及独角兽的争夺,大部分企业还是在研究更新自己的项目,但竞争已经相当激烈了. 从最初的

2016全球云计算大会:云服务商们都这样看“云”

 数下来,每年都会定期举办的.有关云的会真的数不过来--除了名声较大的中国云计算大会以外,从名字上与之相像的,全球云计算大会也算一个.作为已经第二次参加的"老人",记者在今年的采访间不仅遇到了去年的老朋友,还采访到了两个有着国外技术背景的CEO,听他们从不同角度谈谈对云计算发展的看法. 有孚网络CEO安柯:今年我的三个预言 全球云计算大会到今年已经办了四年,有孚网络CEO说他已经参加了四届.安柯是连续两年,记者都采访过的嘉宾.两次下来,从他的演讲和采访中,留给记者的印象是他比较关注企业

DTCC归来,为何云计算厂商都在搞数据库

文章讲的是DTCC归来,为何云计算厂商都在搞数据库,第八届中国数据库技术大会(DTCC 2017)上周末在北京国际会议中心完美闭幕,也许还有很多朋友意犹未尽,没关系,明年依旧可以再聚. 言归正传,会议的3天,老鱼收到不少新老朋友的反馈,大会人真多.是的,从2010年第一届大会的不到500人,到2017年第八届的5000人.8年间,DTCC大会规模扩大了10倍.就连数据库巨头甲骨文都为之感叹. ▲DTCC大会大会现场 去年,甲骨文全球副总裁吴承杨在大会演讲中就感概到:"数据库其实是一个很窄的领域,

Forrester Wave: 混合云管理厂商评测

作为企业发展商业科技(Business Technology,BT agenda)的核心组成部分,各类云计算技术的采用(公有云.私有云等)是企业的必然选择.企业选择云计算的核心驱动力在于更好.更快地部署新兴软件.为了更好地赢得.服务和维持客户,企业的开发和DevOps团队的云平台选择需要更加有选择性和针对性.换言之,企业应该选择能够帮助自己在最快时间内部署完成面向客户的网页或者移动app的一个或多个云平台.这样一来,为了能够在保证技术采用和使用的同时不影响技术使用的可见度.治理效果和运营控制力,

云基础设施厂商仍是畅销货

据一项报告称,2011年,掌握云计算基础设施技术的公司仍是被收购的目标. 事实上,三年来市场对这类公司的收购兴趣呈指数增长.2009年,独立投资银行Berkery Noyes在这个细分市场跟踪发现了63笔有关交易.2010年交易增长至114笔,到2011年时已达到209笔.收购此类公司的总金额也在去年达到了150亿美元. "我们看到两倍的成交量和三倍的交易额,从2010年的40亿美元到2011年的150亿美元" Berkery Noyes的首席信息管James Berkery如是说道,

亚马逊云驱动和苹果iCloud被列入顶级存储服务

当今,云计算大受欢迎,似乎成为了移动和计算机技术的下一个重大演变.最近,我们听说了许多云服务,例如:随着新产品 iPhone 4S以及亚马逊的Kindle Fire诞生的iCloud以及亚马逊的云驱动. 当前有许多相似的云服务,它们可以帮助我们把文件从手持设备(如:智能手机.平板电脑和PMP)下载到云服务器.实际上,如今供个人计算机使用的大多数云服务都有针对不同手持设备的各种版本,这多亏了便携小工具高速网络的传播.以下我们列举了移动设备上所使用的五大最好的云服务. Apple iCloud 苹果

云散之后都是赤裸裸的数据 你会用吗?

本文讲的是云散之后都是赤裸裸的数据 你会用吗,云计算大潮有没有退去暂时谁也说不好,而就著名研究机构Gartner的最新调查报告显示,云计算领域还将保持增长趋势,而增长的幅度将会放缓,毕竟云计算已经风风火火了不少时间.而今,和云计算同样没有明确定义的一个新概念越来越流行--"大数据".而且大数据已经开始改变了IT格局,根据Gartner的数据显示,仅2012年大数据就带动全球280亿美元的IT支出,2013年带动的IT支出规模可望进一步增至340亿美元.而放眼目前IT巨头多是出手延伸整个