Ich muss in den letzten zwei Tagen etwas tun und einige Informationen von den Webseiten anderer Leute kriechen. Verwenden Sie schließlich HTMLParser, um HTML zu analysieren.
Schauen Sie es sich einfach aus dem Code an:
Zunächst müssen Sie beachten, dass das Importpaket: das Paket unten import org.htmlparser ist
Die Codekopie lautet wie folgt:
Liste <M3> mp3List = new ArrayList <M3> ();
versuchen{
Parser Parser = neuer Parser (htmlstr); // Parser initialisieren, hier sollten Sie auf das Importpaket als org.htmlParser achten. Hier gibt es viele Parameter. Ich habe diesen Ort geschrieben, um den guten HTML -Text im Voraus zu erhalten. Sie können auch URL -Objekte übergeben
Parser.setEncoding ("UTF-8"); // Setzen Sie die Codierungsmaschine
Und filter filter =
neu und filter (
New TagnameFilter ("Div"),
NEUE HASATTRIBUTEFILTER ("ID", "SongListwrapper")
); // Finden Sie die DIV durch den Filter und die ID des DIV ist SongListWrapper
Nodelist nodes = parser.parse (filter); // Knoten durch den Filter abrufen
Node node = nodes.elementat (0);
Nodelist nodeschild = node.getchildren ();
Node [] nodesarr = nodeschild.tonodearray ();
Nodelist nodeschild2 = nodesarr [1] .getChildren ();
Node [] nodesarr2 = nodeschild2.tonodearray ();
Node nodeul = nodesarr2 [1];
Node [] nodesli = nodeul.getchildren (). Tonodearray (); // analysieren
für (int i = 2; i <nodesli.length; i ++) {
//System.out.println (nodesli [i] .tohtml ());
Node tempnode = nodesli [i];
Tagnode tagnode = new Tagnode (); // Attribute über TagNode abrufen.
tagnode.setText (tempnode.tohtml ());
String clastr = tagnode.getAttribute ("Klasse"); // clastr is bb-dotimg clearFix Song-item-hook {'SongItem': {'SID': '113275822', 'Sname': 'Meine Anforderungen sind nicht hoch' , 'Autor': 'Huang Bo'}}
clastr = clastr.replaceall ("", "");
if (clastr.indexof ("//?") ==-1) {
Muster muster = muster.compile ("[// s // wa-z //-]+// {'SongItem': // {'SID': '([// d]+)', 'Sname' ' : '([// s // s]*)', 'Autor': '([// s // s]*)' //} //} ");
Matcher Matcher = muster.Matcher (Clastr);
if (matcher.find ()) {
Mp3 mp3 = new mp3 ();
MP3.Setsid (Matcher.Group (1));
mp3.setsname (Matcher.group (2));
MP3.SetAuthor (Matcher.Group (3));
mp3List.add (mp3);
// für (int j = 1; j <= matcher.groupCount (); j ++) {
//System.out.print (""+j+"--->"+matcher.group (j));
//}
}
}
//System.out.println (matcher.find ());
}
} catch (Ausnahme e) {
E. printstacktrace ();
}
Das obige ist etwas, das ich im Projekt analysiert habe.
////// clastr ist BB-Dotimg Clearfix Song-item-hook {'SongItem': {'Sid': '113275822', 'Sname': 'Meine Anforderungen sind nicht hoch', 'Autor': 'Huang Bo
Es ist der von der Webseite analysierte Inhalt.