JAVA获取网页中的电影下载地址小程序

现在电影资源越来越少了,今天想看看吸血鬼日记,结果网上搜出的网址不支持迅雷批量下载,我一个一个点,很累。于是就看看网页源代码发现影片都以FTP开头,rmvb结尾。于是就写了个小程序能够获取网页中所有的下载地址。废话不多说了,下面看代码

package com.cc.getMovie;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

public class MovieTest {
public static void main (String args[]) throws Exception {
String s = "http://www.dytt8.net/html/tv/hytv/20110829/33924.html";
MovieTest mt = new MovieTest();
mt.getUrl(s);
}
public List<String> splitString(String str){//将获取到的网页代码用"<"标签隔开
String[] strs = str.split("<");
List <String> list = new ArrayList<String>();
for (int i = 0; i < strs.length; i++) {
list.add(strs[i]);
}
return list;
}
public List<String> registFtp(List<String> list){//将列表中存的代码通过判定截取出来"
List<String> lists = new ArrayList<String>();
for (String str : list) {
int begin = str.indexOf("ftp:");//查找以ftp开头的索引位置
int end = str.indexOf(".rmvb");//查找以rmvb结尾的索引位置

if(begin!=-1&&end!=-1){//判断取值
String tmp = str.substring(begin, end);//截取字符串,由于用了indexOf,没有rmvb结尾
tmp = tmp.concat(".rmvb");//加上后缀名rmvb
System.out.println(tmp);//打印出所有的地址
lists.add(tmp);
}
}

return list;

}

public String getUrl(String ftp){//获取远端网页的html代码
String str = "";
try {
URLurl = new URL(ftp);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();

InputStreamReader reader = new InputStreamReader(in, "gbk");
BufferedReader br = new BufferedReader(reader);
String data = br.readLine();

while (data != null) {
str = str.concat(data);
data = br.readLine();
}
br.close();
in.close();
MovieTest mt = new MovieTest();
mt.registFtp(mt.splitString(str));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}
}
不大会正则,要不应该更加的简单些,就是利用java中string的api做的,比较简陋。

不想再扩展了,到时改程序就行了,要是扩展的话,有以下几点扩展的

1,写一个ui界面。然后输入网址就能返回地址

2,改用正则估计要快点

3,字符编码。这里用的是最常见的gbk。

好了,就说到这里,反正是个工具类,就是为了方便下载电影用。留作纪念了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值