前提:需要将你的Java工程导入jsoup.jar包(用来进行网络爬虫)
package DownloadTool;
import java.awt.BorderLayout;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class MovieSourceGetter {
public static void openThunder() {
DownloadToolPanel panel = new DownloadToolPanel();
//对“获取资源”按钮设置监听
panel.getSource.addActionListener((e)->{
try {
panel.sourceText.setText("");
//定位网页源码中的电影下载链接的位置,这一步需要自己去查看该网页的源码
Elements elements = Jsoup.connect("https://www.dytt8.net/html/gndy/dyzz/index.html").get().getElementsByAttributeValue("class", "ulink");
//遍历获取
for(Element element:elements) {
panel.sourceText.setText(panel.sourceText.getText()+"https://www.dytt8.net/"+element.attr("href")+"\n"+element.text()+"\r\n");
}
} catch (IOException s) {
s.printStackTrace();
}
});
//打开迅雷
panel.open.addActionListener((e)->{
try {
//输入Thunder.exe在电脑中的绝对位置
String link = "C:\\Program Files (x86)\\Thunder\\Program\\Thunder.exe";
Process process=Runtime.getRuntime().exec(link);
} catch (IOException s) {
s.printStackTrace();
}
});
}
public static void main(String[] args) {
openThunder();
}
}
//该类用来设计swing界面
class DownloadToolPanel extends JFrame{
public DownloadToolPanel() {
panel();
}
JTextArea sourceText = new JTextArea(10, 10);
JScrollPane scrollPane = new JScrollPane(sourceText);
JButton open = new JButton("打开迅雷");
JButton getSource = new JButton("获取资源");
public void panel() {
this.setTitle("电影最新资源器");
this.setSize(500, 450);// 左长右高
this.setLocation(500, 70);// 左水平又竖直
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
sourceText.setText("请点击获取资源,即可获取电影下载链接\n(PS:有时候会获取不了,抛异常,关闭程序试多几次即可)");
this.add(scrollPane,BorderLayout.CENTER);
JPanel jp = new JPanel();
jp.add(getSource);
jp.add(open);
this.add(jp,BorderLayout.SOUTH);
}
public static void main(String[] args) {
DownloadToolPanel panel = new DownloadToolPanel();
}
}