您的位置:首页 > 移动开发 > 微信开发

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

2011-09-24 22:33 387 查看
现在电影资源越来越少了,今天想看看吸血鬼日记,结果网上搜出的网址不支持迅雷批量下载,我一个一个点,很累。于是就看看网页源代码发现影片都以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 {

URL url = 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。

好了,就说到这里,反正是个工具类,就是为了方便下载电影用。留作纪念了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: