지난 이틀 동안 무언가를해야하며 다른 사람들의 웹 페이지에서 일부 정보를 크롤링해야합니다. 마지막으로 htmlparser를 사용하여 HTML을 구문 분석하십시오.
코드에서 확인하십시오.
우선, 가져 오기 패키지는 다음과 같습니다. import org.htmlparser 아래의 패키지
코드 사본은 다음과 같습니다.
List <MP3> mp3List = New ArrayList <Mp3> ();
노력하다{
Parser Parser = New Parser (htmlstr); // Parser 초기화, 여기에서 org.htmlparser로 가져 오기 패키지에주의를 기울여야합니다. 여기에는 많은 매개 변수가 있습니다. 나는 좋은 HTML 텍스트를 미리 얻기 위해이 장소를 썼습니다. URL 객체를 전달할 수도 있습니다
Parser.setencoding ( "UTF-8"); // 인코딩 머신을 설정합니다
및 필터 필터 =
새 앤 필터 (
새로운 tagnamefilter ( "div"),
New HasattributeFilter ( "ID", "SongListWrapper")
); // 필터를 통해 div를 찾아서 div의 ID는 송리스트 wrapper입니다.
Nodelist Nodes = parser.parse (필터); // 필터를 통해 노드를 가져옵니다
노드 노드 = 노드. Elementat (0);
Nodelist Nodeschild = node.getchildren ();
노드 [] nodesarr = nodeschild.tonodearray ();
NODELIST NODESCHILD2 = NODESARR [1] .getChildren ();
Node [] NodesArr2 = NodesChild2.tonodearRay ();
노드 nodeul = nodesarr2 [1];
node [] nodesli = nodeul.getchildren (). tonodearray (); // 원하는대로 노드를 구문 분석합니다
for (int i = 2; i <nodesli.length; i ++) {
//system.out.println (Nodesli [i] .tohtml ());
노드 tempnode = nodesli [i];
tagnode tagnode = new tagnode (); // tagnode로만 변환하여 특정 태그의 속성을 얻을 수 있습니다.
tagnode.settext (tempnode.tohtml ());
문자열 clasts = tagnode.getAttribute ( "class"); // clasts는 bb-dotimg shel-item-hook { 'songitem': { 'sid': '113275822', 'sname': '내 요구 사항이 높지 않다'. , '저자': 'Huang Bo'}}
clasts = clastr.replaceall ( "", "");
if (clastr.indexof ( "//?") == -1) {
Pattern Pattern = Pattern.compile ( "[// s // wa-z //-]+// { 'songitem': // { 'sid': '([// d]+)', 'sname' : '([// s // s]*)', 'author': '([// s // s]*)'//} //} ");
매치기 매치 자 = Pattern.Matcher (Clasts);
if (matcher.find ()) {
mp3 = 새로운 mp3 ();
mp3.setsid (matcher.group (1));
mp3.setsname (matcher.group (2));
mp3.setauthor (matcher.group (3));
mp3list.add (mp3);
// for (int j = 1; j <= matcher.groupCount (); j ++) {
//system.out.print ( ""+j+"--->"+matcher.group (j));
//}
}
}
//system.out.println (matcher.find ());
}
} catch (예외 e) {
e.printstacktrace ();
}
위는 프로젝트에서 분석 한 것이 비교적 간단하고 시작하기 쉽습니다.
//// Clasts는 bb-dotimg clearfix song-item-hook { 'songitem': { 'sid': '113275822', 'sname': '내 요구 사항이 높지 않다', '저자': 'Huang Bo
웹 페이지에서 구문 분석 된 콘텐츠입니다.