⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thiefparsegd.java

📁 音乐网站下载程序
💻 JAVA
字号:
package org.tools.plugin;

import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import org.tools.Thief;

public class ThiefParseGD extends ThiefParseBase{

	public void doDownload(JFrame frame, Map<String, String> map, JLabel state_label, String saveto) {
		// TODO 自动生成方法存根
		JOptionPane.showMessageDialog(frame, "对不起,由于无法生成rm文件头当前版本暂时不支持\nrtsp协议下载,请保存为清单文件\n然后用flashget、影音传送带下载。\n 注意:需要另外生成一份有歌曲名称的详细列表,\n下载完成用使用GDDJMEND.bat进行歌曲名称重命名。","下载提示",JOptionPane.INFORMATION_MESSAGE);
		
	}

	public Map<String, String> parse(String homeUrl, String musicPrix, String listUrl) {
		//以下取得当前URL文档内容
		Thief thief = new Thief();
		String content = thief.readURL(listUrl, null);

		if (content == null || content.equals(""))
			return null;
		
		Map<String, String> map = new HashMap<String, String>();
//		 分析内容
		Pattern p = Pattern.compile("iframe\\s+src=\\'([^\\']+)\\'\\s+name=\"new\"",Pattern.CASE_INSENSITIVE),
			    p1 = Pattern.compile("open\\(\"(play.aspx\\?id=\\d+)\",\"play\"\\)",Pattern.CASE_INSENSITIVE),
			    p2 = Pattern.compile("id=\"ctl00_ContentPlaceHolder1_lbName\"><b>([^>]+)</b></span>",Pattern.CASE_INSENSITIVE),
			    p3 = Pattern.compile("<param name=\"SRC\"\\s+value=\"([^\"]+)\"",Pattern.CASE_INSENSITIVE)
			    ;
		Matcher m = p.matcher(content),m1,m2,m3;
		if(!m.find())return map;
			
		//找到真正地址
		String realUrl = homeUrl+"/"+m.group(1);
		content = thief.readURL(realUrl, null);
		m1 = p1.matcher(content);
		boolean t = true;
		while(m1.find()&&t){
			String musicUrl = homeUrl+"/"+m1.group(1),_content;
			System.out.println("开始读取URL:"+musicUrl);
			_content = thief.readURL(musicUrl, null);
			if(_content == null)continue;
			m2 = p2.matcher(_content);
			m3 = p3.matcher(_content);
			if(m2.find()&&m3.find()){
				map.put( m2.group(1),m3.group(1));
				System.out.println("分析到 :"+m2.group(1)+"  "+m3.group(1));
			}
		}
		return map;
	}

}

⌨️ 快捷键说明

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