使用Java窃取sina大片

使用Java窃取sina大片

sina有很多视频,可是都只能在页面中看,而不能下载,经过思考后,决定用java把真实的地址找出来,窃取sian大片的真实地址,后面再用Java命令行工具下载,呵呵!

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import lavasoft.common.toolkit.HttpTookit;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* 窃取sian大片的真实地址,一个小demo :)
*
* @author leizhimin 2009-7-3 21:33:42
*/
public class MyPickerUrl {
private static Log log = LogFactory.getLog(MyPickerUrl.class);

/**
* 根据sina视频播放地址获取视频真实地址列表
*
* @param playrul sina视频播放地址
* @return 视频真实地址列表
*/
public static List<String> pickupUrl(String playrul) {
List<String> result = new ArrayList(1);
if (playrul == null) {
log.error("你输入的URL为空,请重新输入后再来提取视频真实地址!");
return result;
}
String _decurl = null;
try {
_decurl = URLEncoder.encode(playrul, "UTF-8");
} catch (UnsupportedEncodingException e) {
log.error("URL:" + playrul + "转码为UTF-8的HTTP请求编码异常!,获取视频真实URL可能失败!", e);
}
String url = "http://www.flvcd.com/parse.php?kw=" + _decurl + "&flag=&format=";
String html = HttpTookit.doGet(url, null);
Pattern p = Pattern.compile("target=\"_blank\" class=\"link\">(.+?)</a>");
Matcher m = p.matcher(html);
while (m.find()) {
result.add(m.group(1));
System.out.println(m.group(1));
}
return result;
}

public static void main(String[] args) throws UnsupportedEncodingException {
pickupUrl("http://movie.video.sina.com.cn/teleplay/ldqksj/001.html");
}

}

lavasoft.common.toolkit.HttpTookit类在前面的博文中已经给出,可以查阅!

运行结果:
http://lz1.dhot.v.iask.com/f/1/6f72b9555b1de7989d56eb53f0ce218519100388.hlv
http://lz2.dhot.v.iask.com/f/1/0b60a9f8433b6094b16cc76e9588cc1819092103.hlv

Process finished with exit code 0

呵呵,真实地址都出来了,谁都会下载了。爽吧!!!!

我继续使用wget的命令行,下载,窗口显示如下:
C:\>wget -c --tries=5 --timeout=60 http://lz6.dhot.v.iask.com/f/1/7db2921af8899f
611150469660fd69f84726043.flv
--00:35:13-- http://lz6.dhot.v.iask.com/f/1/7db2921af8899f611150469660fd69f8472
6043.flv
=> `7db2921af8899f611150469660fd69f84726043.flv'
Resolving lz6.dhot.v.iask.com... 202.100.78.116
Connecting to lz6.dhot.v.iask.com|202.100.78.116|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13606365 (13M) [video/x-flv]

45% [=================> ] 6,175,040 88.2K/s eta 87s



如果你要将下载存储指定到一个目录,则需要加一个-P参数即可,注意参数的大小写是区分的,例如:
C:\>wget -c -P C:\aac --tries=5 --timeout=60 http://lz4.dhot.v.iask.com/f/1/daba
5a0cf5749a729fff54d6020af7c67940685.flv
--19:32:29-- http://lz4.dhot.v.iask.com/f/1/daba5a0cf5749a729fff54d6020af7c6794
0685.flv
=> `C:/aac/daba5a0cf5749a729fff54d6020af7c67940685.flv'
Resolving lz4.dhot.v.iask.com... 202.100.78.114
Connecting to lz4.dhot.v.iask.com|202.100.78.114|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13176851 (13M) [video/x-flv]

12% [====> ] 1,609,344 134K/s eta 89s ^




本代码纯属无聊时玩玩,请勿用于任何商业活动!否则,后果自负!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值