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