Rambler's Top100

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

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

Прочитать содержание HTML-страницы, исключив теги


//Прочитать содержание HTML-страницы, исключив теги
package regexp;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.Vector;
import javax.swing.text.Document;
import javax.swing.text.EditorKit;
import javax.swing.text.html.HTMLEditorKit;
public class readHTML {
    static Vector vWordReplaced=new Vector();
public static String getText (String filename, String strPage )
                                        throws Exception{
        StringBuilder sb = new StringBuilder();
        EditorKit kit = new HTMLEditorKit();
		Document doc = kit.createDefaultDocument();
        doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
		String str = "";
        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< vWordReplaced.size();i++){
            str=str.replace(vWordReplaced.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< SCRIPT", "< /SCRIPT>");
            for(int i=0;i< vWordReplaced.size();i++){
            str=str.replace(vWordReplaced.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< noscript", "< /noscript>");
            for(int i=0;i< vWordReplaced.size();i++){
            str=str.replace(vWordReplaced.get(i).toString(),"");
            }
           getVectorSubstrings(str,"< style type=", "< /style>");
            for(int i=0;i< vWordReplaced.size();i++){
            str=str.replace(vWordReplaced.get(i).toString(),"");
            }
            getVectorSubstrings(str,"< NOINDEX>", "< /NOINDEX>");
            for(int i=0;i< vWordReplaced.size();i++){
            str=str.replace(vWordReplaced.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;
        }
 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(!vWordReplaced.contains(str)){
    vWordReplaced.add(str);
      }
     substr=substr.substring(substr.indexOf(suffix) +suffix.length());
  if(substr!=""){
        str=getVectorSubstrings(substr,prefix, suffix);
        if(str!=""){
         if(!vWordReplaced
                 .contains(getVectorSubstrings(substr,prefix, suffix))){
         vWordReplaced.add(getVectorSubstrings(substr,prefix, suffix));
        }
        }
     }
        }
    else {
        str="";
    }
            return str;
}
 public static void main(String[] args) throws Exception {
 String strPage="";
 strPage=  getText ("http://forum.vingrad.ru/forum/topic-246010.html", strPage);
 System.out.println(strPage);
    }
}

01.02.2009

Rambler's Top100


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