📄 search.java
字号:
package com.yinyueku;
import java.sql.*;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.HasAttributeFilter;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
public class Search {
/**
* @param args
*/
/*
public static void main(String[] args) {
// TODO Auto-generated method stub
String searchUrl;
String strSongName;
String strListenUrl;
String strZhuanji;
String strGeciUrl;
String strDownload;
String strDownloadUrl;
//从数据库中查询,返回结果集
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=chenlei",
"sa", "12345");
Statement stmt = con.createStatement();
String sql="SELECT strSingerUrl FROM SINGERS001";
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
//ResultsetMetaData rsmd=rs.getMetaData();
//rsmd.getColumnCount(); //返回结果集中的列数
//rsmd.getColumnLabel(1); //返回第一列的列名(字段名)
//for(int i=1; i<=rs.getMetaData().getColumnCount(); i++) //跟踪显示各个列的名称
//{ System.out.print(rs. getColumnName(i)+"\t");
//}
while(rs.next())
{ //跟踪显示各个列的值
for(int j=1; j<=rs.getMetaData().getColumnCount(); j++)
{
searchUrl=rs.getString();
System.out.println(searchUrl);
try {
Parser parser = new Parser(searchUrl);
parser.setEncoding("gb2312");
HasAttributeFilter fil = new HasAttributeFilter();
fil.setAttributeName("class");
fil.setAttributeValue("p14");
NodeList list = parser.parse(fil);
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println();
Node node = list.elementAt(i);
Node node1=node.getFirstChild().getNextSibling();
Node node11=node1.getFirstChild().getFirstChild();
strSongName=node11.toPlainTextString();
System.out.println(strSongName);
LinkTag linkTag1 = (LinkTag) node1;
strListenUrl = linkTag1.getLink();
System.out.println("试听地址:"+strListenUrl);
Node node2=node1.getNextSibling().getNextSibling();
strZhuanji = node2.getFirstChild().getFirstChild().toPlainTextString();
System.out.println("专辑名:"+strZhuanji);
Node node3=node2.getNextSibling();
Node node31=node3.getFirstChild();
LinkTag linkTag3 = (LinkTag) node31;
strGeciUrl = linkTag3.getLink();
System.out.println("歌词地址:"+strGeciUrl);
Node node4=node3.getNextSibling().getNextSibling();
Node node41=node4.getFirstChild();
LinkTag linkTag4 = (LinkTag) node41;
strDownload = linkTag4.getLink();
System.out.println("下载页面:"+strDownload);
Parser ps = new Parser(strDownload);
ps.setEncoding("gb2312");
HasAttributeFilter f = new HasAttributeFilter();
f.setAttributeName("height");
f.setAttributeValue("9%");
NodeList items = ps.extractAllNodesThatMatch(f);
for (int k= 0; k < items.size(); k++) {
Node n = items.elementAt(k);
Node n1 = n.getFirstChild();
LinkTag linkTag = (LinkTag) n1;
strDownloadUrl = linkTag.getLink();
System.out.println("下载地址:"+strDownloadUrl);
/*try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=chenlei",
"sa", "12345");
Statement stmt = con.createStatement();
//stmt.executeUpdate("CREATE TABLE SINGERS "+ "(SINGER_NAME VARCHAR(32), SINGER_URL VARCHAR(64))");
String sql="Insert into SINGERS001 values('"+strSingerName+"','"+strSingerUrl+"')";
System.out.println(sql);
stmt.executeUpdate(sql);
System.out.println("Insert into table ok!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -