Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Извлечь видимый в броузере текст из HTML-страницы


Извлечь видимый в броузере текст из HTML-страницы
 // 

package html;

import java.io.*;
import java.util.*;
import java.net.*;
import javax.swing.text.Document;
import javax.swing.text.EditorKit;
import javax.swing.text.html.HTMLEditorKit;


public class readHtmlText {

    static Vector vpatt=new Vector();

static String getVectorSubstrings(String str,String prefix, String suffix){

        String substr="";

  if((str.contains(prefix))&&(str.contains(suffix))){
       substr=str.substring(str.indexOf(prefix));
     str=substr.substring(0, substr.indexOf(suffix) +suffix.length());
      if(!vpatt.contains(str)){
    vpatt.add(str);
      }
     substr=substr.substring(substr.indexOf(suffix) +suffix.length());
     if(substr!=""){
        str=getVectorSubstrings(substr,prefix, suffix);
        if(str!=""){
         if(!vpatt.contains(getVectorSubstrings(substr,prefix, suffix))){
         vpatt.add(getVectorSubstrings(substr,prefix, suffix));
        }
        }


     }

    }
 else {
        str="";
    }
            return str;
}
public static String getText (String filename, String strPage )
        throws Exception{
            EditorKit kit = new HTMLEditorKit();
		Document doc = kit.createDefaultDocument();
            doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
            String str = "";
            URL yahoo = new URL(filename);
            StringBuilder sb=new StringBuilder();
            URL url = new URL(filename);
 BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),
           "utf-8"));
   String inputLine;
            while ((inputLine = in.readLine()) != null) {
             sb.append( "\n" + inputLine);
            }
            in.close();
            str=sb.toString();
           getVectorSubstrings(str,"< script", "< /script>");
            for(int i=0;i< vpatt.size();i++){
            str=str.replace(vpatt.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< SCRIPT", "< /SCRIPT>");
            for(int i=0;i< vpatt.size();i++){
            str=str.replace(vpatt.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< noscript", "< /noscript>");
            for(int i=0;i< vpatt.size();i++){
            str=str.replace(vpatt.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< style type=", "< /style>");
            for(int i=0;i< vpatt.size();i++){
            str=str.replace(vpatt.get(i).toString(),"");
            }
            getVectorSubstrings(str,"< NOINDEX>", "< /NOINDEX>");
            for(int i=0;i< vpatt.size();i++){
            str=str.replace(vpatt.get(i).toString(),"");
            }
byte[] bytes = str.getBytes("utf-8");
    InputStream input = new ByteArrayInputStream(bytes);
              Reader rd = new BufferedReader(new InputStreamReader(input));
		kit.read(rd, doc, 0);
               strPage=doc.getText(0, doc.getLength());
        return strPage;
        }


    public static void main(String[] args) throws Exception {
        String strPage="";
        strPage= getText ("http: // www.rtindex.ru/primery_java/index/list0.html"
                , strPage );
       System.out.println("strPage "+strPage);

    }

}


12.04.2009

Rambler's Top100


Ассоциативные ссылки