Preciso fazer algo nos últimos dois dias e precisar rastejar algumas informações das páginas da web de outras pessoas. Finalmente, use htmlparser para analisar html.
Basta olhar para ele do código:
Primeiro de tudo, você precisa observar que o pacote de importação é: o pacote abaixo import org.htmlparser
A cópia do código é a seguinte:
List <Mp3> mp3List = new ArrayList <Mp3> ();
tentar{
Analiser analiser = novo analisador (htmlstr); // inicialize o analisador, aqui você deve prestar atenção ao pacote de importação como org.htmlparser. Existem muitos parâmetros aqui. Eu escrevi este lugar para obter o bom texto HTML com antecedência. Você também pode passar em objetos de URL
parser.setEncoding ("UTF-8"); // Defina a máquina de codificação
Filtro e filtro =
novo e filtro (
novo tagnamefilter ("div"),
Novo HasattributeFilter ("ID", "SonglistWrapper")
); // Encontre a div através do filtro e o id do div é o SonglistWrapper
Nodelist nós = parser.parse (filtro); // Obtenha nós através do filtro
Nó nó = modes.Elementat (0);
Nodelist nodeschild = node.getChildren ();
Node [] SONESARR = SONESCHILD.TONODEARRAY ();
Nodelist nodesChild2 = nodesarr [1] .getChildren ();
Node [] SONESARR2 = SodesChild2.tonodearray ();
Node Nodeul = Nodesarr2 [1];
Node [] nodesli = nodeul.getChildren (). Tonodearray (); // analisando os nodesli conforme desejado
for (int i = 2; i <sodesli.length; i ++) {
//System.out.println (nodesli [i] .tohtml ());
Nó tempnode = nodesli [i];
Tagnode tagNode = new TagNode (); // Obtenha atributos através do tagnode.
tagnode.settext (tempnode.tohtml ());
String clastr = tagnode.getAttribute ("class"); // clastr é bb-dotimg clearfix canção-item-hook {'songItem': {'sid': '113275822', 'sname': 'meus requisitos não são 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 Matchaer = Pattern.Matcher (CLASTR);
if (matcher.find ()) {
Mp3 mp3 = new mp3 ();
mp3.SetSId (MatchaR.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 (Exceção e) {
E.PrintStackTrace ();
}
O acima é algo que analisei no projeto.
///// clastr é bb-dotimg clearfix Song-item-hook {'SongItem': {'sid': '113275822', 'sname': 'Meus requisitos não são altos', 'autor': 'huang bo
É o conteúdo analisado na página da web.