分享 Youku 调用笔记

cqcn1991 · August 07, 2013 · Last by cqcn1991 replied at September 17, 2014 · 4986 hits

之前因为写一个视频分享网站,所以必须得折腾 youku 这里记录一下:

主要参考: http://www.hdj.me/demos/vediourlparser/ http://userscripts.org/scripts/show/162286

1.get id 一切都是由用户输入 youku 视频的网址说起 比如http://v.youku.com/v_show/id_XNDA1MDc3NzA4.html 那么这个视频 id(youku 的)就是 XNDA1MDc3NzA4

def get_video_id # user 发布 micropost,里面包含了 video_url,用 video_url 来得到 video_id
video_id = self.video_url.split("id_")[1] ampersandPosition = video_id.index(".html") self.video_id = video_id[0..ampersandPosition-1]

2.json response 用来得到截图,标题等信息。youku 自己有一个 API 接口可用,于是就……

response = HTTParty.get("http://v.youku.com/player/getPlayList/VideoIDS/#self.video_id}/timezone/+08/version/5/source/out?password=&ran=2513&n=3"{) decode_response = ActiveSupport::JSON.decode(response) self.title = decode_response['data'][0]['title'] self.video_logo_url = decode_response['data'][0]['logo'] if !self.user self.username = decode_response['data'][0]['username'] end 这样就得到了每个视频的 title,发布用户,以及截图(logo)

不过 logo 是个大图,要得到 thumbnail 的话,

def get_thumbnail url = self.video_url doc = Nokogiri::HTML(open(url))

#直接在页面 get thumbnail_url video_thumbnail_url = doc.css("a#s_qq_haoyou")[0]['href'] video_thumbnail_url = video_thumbnail_url.split("pics=")[1] self.video_thumbnail_url = video_thumbnail_url.split("&site=")[0] end

3.anit-ads 主要来源:http://userscripts.org/scripts/show/162286 简单来说,就是替换了个.swf 播放器。上面这个脚本里面的替换播放器不支持别的网站引用,所以就从那里下载下来,放在了 server 端(lib/assets/javascripts 里面,其实我也很想用 BAE,但是不会用)所以在 view 中:

1 Floor has deleted

有点意思。

楼主这个可以写到博客里啊~~

#4 楼 @zzz6519003 整套用法已经失效了……这也是 just4magic 被放弃的原因……

You need to Sign in before reply, if you don't have an account, please Sign up first.