codefilter.java

来自「一个Mp3在线搜索器」· Java 代码 · 共 76 行

JAVA
76
字号
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package biz.tbuy.huliqing.jloading.ext.mp3;import biz.tbuy.huliqing.share.StringFilter;import java.io.IOException;import java.net.URLEncoder;/** * * @author huliqing */public class CodeFilter {        public MusicModel filter(String htmlCode, String encode) {        // 分析第一页面数据        String url = parseURL(htmlCode);        String name = parseName(htmlCode);        String size = parseSize(htmlCode);        // 分析出最踪的MP3地址        try {            if (encode != null) {                url = url.replaceAll(name, URLEncoder.encode(name, encode));            } else {                url = url.replaceAll(name, URLEncoder.encode(name, "UTF-8"));            }            String code = StringFilter.getHtmlCode(url);            url = getMp3Address(code);        } catch (IOException e) {            System.out.println("无法访问URL");        }        return new MusicModel(name, url, size);    }        public MusicModel filter(String htmlCode) {        return filter(htmlCode, null);    }    private String parseURL(String str) {        int start = str.indexOf("href=") + 6;        String temp = str.substring(start);        return temp.substring(0, temp.indexOf("\""));    }    private String parseName(String str) {        int start = str.indexOf("blank\">") + 7;        int end = str.indexOf("</a>");        String name = str.substring(start, end);        return StringFilter.clearHtml(name);    }    private String parseSize(String str) {        //System.out.println("====" + str);        String[] arr = str.split("<td");        String temp = arr[8];        String size = temp.substring(1, temp.indexOf("</td")); // 从1开始 <td>        //System.out.println("size======" + size);        return size;    }    private String getMp3Address(String code) {        int start = code.indexOf("<body");        if (start != -1) {            code = code.substring(start);            start = code.indexOf("href=") + 6;            code = code.substring(start);            code = code.substring(0, code.indexOf("\""));        }        return code;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?