分享 Youku 调用笔记

cqcn1991 · 2013年08月07日 · 最后由 cqcn1991 回复于 2014年09月17日 · 4283 次阅读

之前因为写一个视频分享网站,所以必须得折腾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中:

共收到 5 条回复
1楼 已删除

有点意思。

很用心~

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

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册