土豆的视频下载有以下几个特点:
地址动态生成,每次请求返回的地址都不一样。
长视频会被分割成多段短视频。
对视频下载有一些限制,下载地址只对与请求的浏览器相同的user-agent有效。这就意味着A用户用A浏览器获得的地址,只能用A浏览器下载,即使换个B浏览器也不行,更别说用其它工具了。
要解析土豆视频的下载地址,就必须找到iid。土豆有两种形式的播放地址,一种是形如
的单一视频播放地址,另一种是形如
http://www.tudou.com/playlist/playindex.do?lid=11694367&iid=75610812
的豆单播放地址。 如果是第一种,直接查看源代码,可以找到
,iid = 75629467
如果是第二种,iid直接在url地址里,iid=75610812。 找到iid以后,把iid拼在
后面,比如
访问该地址,返回的是一个xml格式的文件,里面就有视频下载地址和一些视频相关信息(根据情况自己进行url_decode)。
土豆视频的解析相比于优酷的解析,因为地址没有加密,显得更直接。但是在服务器端限制了请求用户和下载用户的user-agent,需要特别注意。可以利用切换用户user-agent的工具,改变自己的user-agent然后发送请求,得到具有针对性的下载地址。比如利用httpClient:
1 |
|