博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Java窃取sina大片
阅读量:7080 次
发布时间:2019-06-28

本文共 2948 字,大约阅读时间需要 9 分钟。

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        ^
 
 
 
 
本代码纯属无聊时玩玩,请勿用于任何商业活动!否则,后果自负!
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/172962,如需转载请自行联系原作者
你可能感兴趣的文章
cookie禁用后session id传值的问题
查看>>
android 动画AnimationSet 和 AnimatorSet
查看>>
Dharma勒索软件继续大肆传播,据称已有100多家希腊网站沦陷
查看>>
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
查看>>
Linux学习笔记(十七) vim
查看>>
三十二、iptables filter表小案例、iptables nat表应用
查看>>
Linux第一周学习笔记(4)
查看>>
袋鼠云数据中台专栏2.0 | 数据中台之数据集成
查看>>
当P4遇见NAT64,UCloud如何快速从IPv4向IPv6演进?
查看>>
iOS少用的框架
查看>>
ups锂电池的优势
查看>>
关于程序员和***区别在哪里?
查看>>
tomcat启动报错Invalid character found in method name. HTTP method names must be tokens
查看>>
appium+python3.6
查看>>
RAID cache的作用及更换RAID 电池注意事项
查看>>
如何挖掘和优化长尾关键词?
查看>>
windows下安装解压版mysql
查看>>
Linux启用ssh服务
查看>>
Centos7 Snapper快照备份
查看>>
cdn
查看>>