想要通过rss订阅优酷视频?
优酷开放的rss订阅只有笼统的分类视频,而个人视频订阅却没有开放。
作为一个google reader控(点击查看《Google Reader入门教程》),我崇尚万事聚合、一切极简的思想——足不出户,知天下事。
现在不常玩dota了,但是看看一些dota视频解说还是很惬意的。优酷确实可以进行站内视频订阅,但是,我觉得麻烦。我的目标是:all in one!
“把这些视频通通整合进google reader吧!”强烈的潜意识诱导我去寻找解决方案。
我点开目前最喜欢的dota解说伍声2009的优酷视频主页,网址:http://u.youku.com/user_show/id_UMzE2OTY2NjUy.html
那么你会发现UMzE2OTY2NjUy这个部分比较奇怪,显然是通过某种方式进行编码加密的。优酷对网址进行编码而不公开rss订阅的原因之一就是为了赚广告费。
我首先想到的并不是去解码这个网址,因为我对这方面是一窍不通。。。我第一反应是利用在线工具将网址输出为rss地址——虽然这是个不错的想法,我也进行了实践——然而不出我所料,由于该网址是经过编码的,再加上大量网址转换rss的网页工具被和谐之类的,搞得我没什么兴致再去试验了,所以我放弃了这个想法。
也许查看网页源代码会有什么发现?
查看网页源代码,其中一行链接让我有点小兴奋:/user_skin/id_79241663_type_official.html 而且源代码中只有这条链接是与id有关的,那么79241663八成就是网址中被编码的数字。为了验证我的想法,我google了下网址的编码方式,然后我就后悔了,因为编码方法茫茫多。。。我也无法确定该网址到底是用什么方式编码的。
正在纠结着如何是好,突然灵光那么一闪,我才意识到自己脑抽了——为什么不直接把UMzE2OTY2NjUy替换为79241663试试呢?果然,替换后的网址等效于原网址。恩,我只是得出了正确的结论,至于具体编码和解码的过程,后面会讲到。(当然不是我想出来的)
那么现在只剩下一个问题,优酷视频的rss输出格式是什么?
一开始我郁闷了很长时间。。。事实证明只要肯蛋疼,总会找到解决办法的。
在google reader中搜索“优酷 专辑”的供稿,得到了一些类似这样的rss地址:http://www.youku.com/playlist/rss/id/xxxxxx(xxxxxx代表数字)
同样在优酷网站上随便点开一个专辑,其网址格式为:http://www.youku.com/playlist_show/id_xxxxxx.html
很明显,优酷网址在输出成rss地址时,会将playlist后的_show删去,之后的格式为/rss/id/xxxxxx
同理,2009的视频网址:http://u.youku.com/user_show/id_79241663.html
输出为rss就是这样的结果:http://www.youku.com/user/rss/id/79241663
至于u是否要改成www,经检验是无所谓的,改或不改同样可以成功订阅。
效果如下: