好吧,之前发了关于Youku地址的提取方法,下面看看Tudou的。
其实相比于Youku的地址,Tudou的就要好提取得多了。根据流量分析,土豆的默认播放器会访问http://v2.tudou.com/v?vn=02&st=1%2C2&it=[土豆IID] 这个地址来获取视频列表信息。
下面我们随便看一个Tudou的地址:http://www.tudou.com/programs/view/kS03BynGs8Q
看看源代码:
var pageId = 1
,isPlayPage = true
,iid = 92143802
,iid_code = icode = 'kS03BynGs8Q'
,oid = 1142764
,cid = 5
这个部分,iid就是播放器用来获取视频位置的参数
然后访问http://v2.tudou.com/v?vn=02&st=1%2C2&it=92143802
可以获得如下:
<v lg="0" wt="0" tm="81400" vi="1" ch="5" tt="瞎子吃砒霜(国外恶搞)" cd="kS03BynGs8Q"> <f st="2" s1="7558a4f2f53d3f3584f3ebeb701b1cecd7d2f99f" bc="14" brt="2"> http://123.125.10.14/f4v/2/92143802.h264_1.f4v?key=2701fecb9e812a852b78054e2d8672b1db08a6&playtype=1&tk=149248071206267469940845275&brt=2&bc=14&id=tudou&itemid=58107728&fi=92143802&sz=3136094 </f> <f st="2" s1="7558a4f2f53d3f3584f3ebeb701b1cecd7d2f99f" bc="14" brt="2"> http://221.204.229.17/f4v/2/92143802.h264_1.f4v?key=2701fecb9e812a852b78054e2d8672b1db08a6&playtype=1&tk=149248071206267469940845275&brt=2&bc=14&id=tudou&itemid=58107728&fi=92143802&sz=3136094 </f> </v> <!--pageview_candidate-->
然后看到,标红的就是视频地址了,两个一样的….视频长度 tm=”81400″ 是 81400ms(81.4s,一分多钟)
于是大功告成!庆祝一下!
获取各种视频地址API在 http://bhsf.page2.jp/blog/wp-admin/video/getVideo.php?provider=[sn(新浪)|yk(优酷)|td(土豆)|av(哔哩哔哩)]&vid=[vid|ykid|iid|avXXXX]
这样的~
【然后访问http://v2.tudou.com/v?vn=02&st=1%2C2&it=92143802】
是直接复制到浏览器里面吗?
我复制到浏览器里面 显示错误消息 没有返回XML文件。。
另外用了几个试了一下 也是显示错误消息,是土豆不让弄了吗?
应该是吧。。。三四年前的方法了,先在大概早就换接口了。
看不懂哎…土豆没有ID了
请问有什么方法通过土豆的播放地址获取iid么?
直接把播放地址的页面载下来,然后用正则表达式匹配即可。:kaka|33:当然此方法很原始…
嗯。我之前是用的这个方法。
$url = “http://www.tudou.com/programs/view/kS03BynGs8Q”;
$content = file_get_contents($url);
之前能用,现在不知道为什么,$content变成了一堆乱码,找不到iid。您有功夫能帮我看看么?多谢!:kaka|05:
有代码吗?可以到Pastebin上把代码放上去我看看^_^。:kaka|32:
有。在这里http://pastebin.com/Y1TSVWG6。
麻烦啦!
http://pastebin.com/wsk1dGSv 获得IID函数
我这里还是不行哎。返回不出数值,我把else{returned false}改成else{return ‘123’},就返回了123。好像还是编码的问题。‘$t = file_get_contents($url);’,我echo了一下$t,得到了一堆乱码。
获得的URL不能下载啊,好像土豆加强了验证机制,需要多判断了下User-Agent,这个怎么弄??
地址确实和User-Agent有关,可以在Curl请求时把客户端的User-Agent传过去,这样获得的地址就能被客户端下载了。
这个好像变动了
哦?我有一阵子没尝试了…
我测试了还能用呢…
我觉得这个地址恐怕会变化,所以如果要用于采集网站的话,最好还是用正则表达式获取一下。
这个其实是供人下载的(免得装一大堆土豆优酷的满是广告的播放器),地址半小时应该就失效了。
采集的话还是动态获取好,我有专门摘视频名字、缩略图、地址的PHP代码…确实是正则…
PS:头像+名字神奇
呵呵,名字跟我网站有关。头像是以前在一个论坛做版主的时候制作的。
看出来了~很有意思的外号啊
这个怎么用?
用来提取视频绝对地址,方便下载和躲过 30 秒的视频前广告…