简单获取各大视频网站的flash地址
? ? 最近做網(wǎng)站的時(shí)候遇到一個(gè)需求:給定一個(gè)視頻地址,獲取它的swf地址。例如,給一個(gè)優(yōu)酷的視頻地址:http://v.youku.com/v_show/id_XNDg4MzY5ODU2.html,想獲取它的swf文件的地址,通常情況我們是通過(guò)爬取網(wǎng)頁(yè)的方式來(lái)獲取相關(guān)標(biāo)簽內(nèi)的值,可是這種方法有很多不便,效率不高,準(zhǔn)確度不能得到保證,不同的網(wǎng)站篩選的方法也不一樣,有的網(wǎng)站的flash地址是用js動(dòng)態(tài)生成的(例如愛(ài)奇藝),這時(shí)候通過(guò)爬取網(wǎng)頁(yè)就得不到想要的結(jié)果了。
? ? 今天突然想到新浪微博支持在發(fā)微博的時(shí)候直接插入視頻地址,就想看看新浪是怎么做的。于是試著發(fā)一條帶視頻的微博,此時(shí)頁(yè)面上并沒(méi)有視頻的真實(shí)地址,而是一張與視頻相關(guān)的圖片
?
點(diǎn)擊圖片,出現(xiàn)了視頻播放器。
使用谷歌瀏覽器的開(kāi)發(fā)人員工具查看,原來(lái)新浪是通過(guò)它自己的api來(lái)實(shí)現(xiàn)這一功能的。
api地址:http://api.weibo.com/widget/show.jsonp?vers=3&lang=zh-cn&short_url=zjo0epu&template_name=embed&source=3818214747&jsonp=STK
我們只需要關(guān)心short_url這個(gè)參數(shù)就行了,它就是視頻的長(zhǎng)網(wǎng)址轉(zhuǎn)換后的短網(wǎng)址。
?
這里給個(gè)長(zhǎng)網(wǎng)址轉(zhuǎn)短網(wǎng)址的api:http://weibo.com/aj/mblog/video?_wv=5&url=http%3A%2F%2Fv.youku.com%2Fv_show%2Fid_XNDg1MDkzODcy.html
?
url參數(shù)換成你需要轉(zhuǎn)換的網(wǎng)址就行了。
?
返回結(jié)果:
{"code":"100000","msg":"","data":{"url":"http:\/\/t.cn\/zjxngLP","title":null}}?
另外加上jsonp=STK這個(gè)參數(shù),返回的結(jié)果是html,不加這個(gè)參數(shù)返回的是json格式的數(shù)據(jù)。
?
來(lái)看看結(jié)果吧
?
<!-- 加jsonp=STK參數(shù) --><html><head></head><body>try{STK({"result":"<div><div><embed id="\"STK\"" height="\"356\"" allowscriptaccess="\"never\"" style="\"visibility:" visible;\"="" pluginspage="\"http://get.adobe.com/cn/flashplayer/\"" flashvars="\"playMovie=true&auto=1\"" width="\"440\"" allowfullscreen="\"true\"" quality="\"high\"" src="\"http://player.ku6.com/refer/uLsWSvMRa4YaFaeNBlo04Q../v.swf\"" type="\"application/x-shockwave-flash\"" wmode="\"transparent\"/" /></div></div>"});}catch(e){}</body> </html>?
<!-- 不加參數(shù),返回的是json格式{"result":"<div><div><embed id=\"\" height=\"356\" allowscriptaccess=\"never\" style=\"visibility: visible;\" pluginspage=\"http://get.adobe.com/cn/flashplayer/\" flashvars=\"playMovie=true&auto=1\" width=\"440\" allowfullscreen=\"true\" quality=\"high\" src=\"http://player.ku6.com/refer/uLsWSvMRa4YaFaeNBlo04Q../v.swf\" type=\"application/x-shockwave-flash\" wmode=\"transparent\"/></div></div>"}?
可以看到返回結(jié)果中的src正是我們想要的內(nèi)容。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/e241138/archive/2012/12/16/2820054.html
總結(jié)
以上是生活随笔為你收集整理的简单获取各大视频网站的flash地址的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: macOS自带网络测速功能使用教程
- 下一篇: uniapp之微信小程序背景图的显示问题