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 {
   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。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值