J'ai besoin de faire quelque chose au cours des deux derniers jours et je dois explorer certaines informations des pages Web des autres. Enfin, utilisez HTMLParser pour analyser HTML.
Regardez-le à partir du code:
Tout d'abord, vous devez noter que le package d'importation est: le package ci-dessous Import org.htmlparser
La copie de code est la suivante:
List <p3> mp3List = new ArrayList <p3> ();
essayer{
Parser PARSER = NOUVEAU PARSER (HTMLSTR); // Initialiser l'analyseur, ici vous devez prêter attention au package d'importation en tant que org.htmlparser. Il existe de nombreux paramètres ici. J'ai écrit cet endroit pour obtenir le bon texte HTML à l'avance. Vous pouvez également passer dans des objets d'URL
parser.SetEncoding ("UTF-8"); // Définissez la machine de codage
Et filtre-filtre =
Nouveau et filtre (
Nouveau tagnameFilter ("div"),
New HasattributeFilter ("ID", "Songlistwrapper")
); // trouver le div via le filtre et l'ID de la div est Songlistwrapper
NODELIST NODES = PARSER.PARSE (FILTER); // Obtenez les nœuds via le filtre
Nœud nœud = nœuds.elementat (0);
Nodelist nœudschild = node.getchildren ();
Nœud [] nœudsarr = nœudschild.TonodeArray ();
NodeList NODESCHILD2 = NODESAr [1] .getChildren ();
Node [] nœudsarr2 = nœudschild2.TonodeArray ();
NODEUL NODE = NODESArR2 [1];
Node [] NODESLI = NODEUL.GETCHILDRES (). TONODEARRAY (); // analyser les nœuds
pour (int i = 2; i <nœudsli.length; i ++) {
//System.out.println (nœudsli [i] .tohtml ());
Nœud tempnode = nœudsli [i];
TagNode TagNode = new TagNode (); // Obtenez des attributs via TagNode.
TagNode.SeTText (tempnode.tohtml ());
String clast = tagnode.getAttribute ("class"); // Clastr is bb-dotimg clearfix song-item-hook {'songitem': {'sid': '113275822', 'Sname': 'mes exigences ne sont pas élevées' , 'Auteur': 'Huang Bo'}}
Clast = Clastr.ReplaceALL ("", "");
if (clast.indexof ("//?") == - 1) {
Pattern Pattern = Pattern.Compile ("[// S // WA-Z // -] + // {'Songitem': // {'Sid': '([// d] +)', 'Sname' : '([// s // s] *)', 'auteur': '([// s // s] *)' //} //} ");
Matcher Matcher = Pattern.matcher (Clastr);
if (Matcher.Find ()) {
Mp3 mp3 = nouveau mp3 ();
mp3.setsid (Matcher.Group (1));
mp3.setsName (Matcher.Group (2));
mp3.setAuthor (Matcher.Group (3));
mp3List.add (mp3);
// pour (int j = 1; j <= matchder.groupcount (); j ++) {
//System.out.print ("" + j + "--->" + Matcher.Group (J));
//}
}
}
//System.out.println (Matcher.Find ());
}
} catch (exception e) {
e.printStackTrace ();
}
Ce qui précède est quelque chose que j'ai analysé dans le projet.
///// Clastr est BB-Dotimg ClearFix Song-Item-Hook {'Songitem': {'Sid': '113275822', 'Sname': 'Mes exigences ne sont pas élevées', 'Auteur': 'Huang Bo
C'est le contenu analysé à partir de la page Web.