А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я Все примеры | Примеры по пакетам |
|
Прочитать содержание 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);
}
}
|
|
|
|
|