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。
好了,就说到这里,反正是个工具类,就是为了方便下载电影用。留作纪念了
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。
好了,就说到这里,反正是个工具类,就是为了方便下载电影用。留作纪念了
相关文章推荐
- 正则表达式知识详解之实战 获取网页中的邮箱地址 (java版示例)
- 第一个java小程序 applet 画一个圆 获取网页自定义的参数来输出
- java获取一段文字的url地址并以链接的形式显示在网页上
- linux下java程序获取本机MAC地址
- 记录通过网页QQ音乐获取下载地址与歌词的全过程
- Python获取网页上图片下载地址的方法
- Python获取网页上图片下载地址的方法
- java利用正则表达式获取一个网页中的所有邮箱地址
- java获取真实的下载地址和下载文件名
- java程序获取网卡地址
- 【.net】获取网页CDM的下载链接的地址
- java程序--从网页中提取电子邮箱地址
- C# C/S程序请求网页地址,并获取返回数据代码
- 需求(Java);利用Jsoup架包获取指定网页的全部图片,并自动下载到指定文件夹中
- 获取网页中的视频下载地址(利用proxy_server)
- Fork and Join: Java也可以轻松地编写并发程序 原文地址 作者:Julien Ponge 译者:iDestiny 资源下载: Java SE 7 Sample Code(Zi
- java获取网页上邮箱地址存放到.txt文件
- java 程序下载网页
- Java实现的推箱子游戏,带源码下载地址和地图生成程序
- Java正则表达式学习笔记,分离网页邮件地址的蜘蛛程序