Necesito hacer algo en los últimos dos días y necesito rastrear alguna información de las páginas web de otras personas. Finalmente, use HTMLParser para analizar HTML.
Solo míralo desde el código:
En primer lugar, debe tener en cuenta que el paquete de importación es: el paquete a continuación importar org.htmlparser
La copia del código es la siguiente:
List <p3> mp3List = new ArrayList <pp mp3> ();
intentar{
Parser parser = nuevo analizador (htmlstr); // Inicializar el analizador, aquí debe prestar atención al paquete de importación como org.htmlparser. Hay muchos parámetros aquí. Escribí este lugar para obtener el buen texto HTML por adelantado. También puede pasar por objetos de URL
parser.setEncoding ("UTF-8"); // Establezca la máquina de codificación
Y filtro de Filter =
nuevo y filtro (
nuevo TagNameFilter ("Div"),
New HasattributeFilter ("ID", "Songlistwrapper")
); // Encuentra el Div a través del filtro y la identificación del div es Songlistwrapper
Nodelist nodos = parser.parse (filtro); // Obtener nodos a través del filtro
Nodo nodo = nodo.ElementAT (0);
Nodelist nodeschild = node.getChildren ();
Nodo [] nodoSarr = nodeschild.tonodearray ();
Nodelist nodeschild2 = nodesarr [1] .getChildren ();
Nodo [] nodesarr2 = nodeschild2.tonodearray ();
Nodo nodeul = nodoSarr2 [1];
Nodo [] nodoSli = nodeul.getChildren (). Tonodearray (); // analizar nodoSli según lo desee
para (int i = 2; i <nodesli.length; i ++) {
//System.out.println (nodesli [i] .tohtml ());
Nodo tempNode = nodoSli [i];
TagNode tagNode = new tagNode (); // Obtener atributos a través de TagNode.
tagNode.setText (tempNode.tohtml ());
Cadena clastr = tagNode.getAttribute ("class"); // clastr es bb-dotimg clearFix Song-item-Hook {'Songitem': {'Sid': '113275822', 'Sname': 'Mis requisitos no son altos' , 'Autor': 'Huang Bo'}}
clastr = clastr.replaceall ("", "");
if (clastr.indexof ("//?") ==-1) {
Pattern Pattern = Pattern.Compile ("[// s // wa-z //-]+// {'Songitem': // {'sid': '([// d]+)', 'sname' : '([// s // s]*)', 'autor': '([// s // s]*)' //} //} ");
Matcher Matcher = Pattern.Matcher (clastr);
if (matcher.find ()) {
Mp3 mp3 = nuevo mp3 ();
mp3.setsid (matcher.group (1));
mp3.setsname (matcher.group (2));
mp3.setAuthor (matcher.group (3));
mp3list.add (mp3);
// para (int j = 1; j <= matcher.groupCount (); j ++) {
//System.out.print (""+j+"--->"+matcher.group (j));
//}
}
}
//System.out.println (matcher.find ());
}
} Catch (Exception e) {
E.PrintStackTrace ();
}
Lo anterior es algo que analicé en el proyecto.
///// clastr es bb-dotimg clearfix Song-item-Hook {'Songitem': {'sid': '113275822', 'sname': 'mis requisitos no son altos', 'autor': 'huang bo
Es el contenido analizado desde la página web.