HTML content extraction
3 отговора
131 прегледа
HTML content extraction
Абе някой да има идея как мога да "извлека" информация от HTML документ, но само съдържанието без таговете - тоест всичко между <..> се игнорира. щтото вече 2 дни се мъча и полудях направо!
пробвах да използвам нещо от сорта:
//otvarq dokumenta za 4etene
BufferedReader bufread = new BufferedReader(new FileReader(urlpath.getFile()));
String s;
do{
s = bufread.readLine();
StringTokenizer tok = new StringTokenizer(s, "<>");
while(tok.hasMoreTokens()){
System.out.print(tok.nextToken()+" ");
}
}while(bufread.read()!=-1); //4ete dokato stigne kraq na dokumenta
знам 4е тва става за 10 мин с Perl ама на мен ми трябва Джава изпълнение.
Благодаря предварително!

ABE NE SE ZNAE, ZNAE LI SE!
пробвах да използвам нещо от сорта:
//otvarq dokumenta za 4etene
BufferedReader bufread = new BufferedReader(new FileReader(urlpath.getFile()));
String s;
do{
s = bufread.readLine();
StringTokenizer tok = new StringTokenizer(s, "<>");
while(tok.hasMoreTokens()){
System.out.print(tok.nextToken()+" ");
}
}while(bufread.read()!=-1); //4ete dokato stigne kraq na dokumenta
знам 4е тва става за 10 мин с Perl ама на мен ми трябва Джава изпълнение.
Благодаря предварително!
Re: HTML content extraction
Сещам се за два начина, макар че и двата не съм ги пробвал. Единият е да изпозваш javax.swing.JEditorPane и след това да викнеш getText(). Проблема е, че не знам getText() дали ще ти върне "чистия" текст или всичкия HTML код.
Другият е да използваш XML APIs, да отвориш файла като XML файл и да направиш една разходка по дървото като събираш само TextNode-овете.
Другият е да използваш XML APIs, да отвориш файла като XML файл и да направиш една разходка по дървото като събираш само TextNode-овете.
Re: HTML content extraction
Не мога да кажа със сигурност каква ти е целта. Обаче така както си го написал би трябвало да ти е достатъчно просто да махнеш таговете.
--------------------------
Въртиш в цикъл, докато стигнеш края на htmlString (там си записал сорса на html-to)
String txt = htmlString.substring(0, htmlString.indexOf("<"));
SAVE txt
htmlString = htmlString.substring(htmlString.indexOf(">"));
---------------------------
Ако ти е необходима по-сложна обработка на хтмл-то бих ти препоръчал да
използваш XML API.
За целта първо трябва да обърнеш HTML в XML (има библиотеки за това, напр. JTidy от [линк] ).
След което вече с JAXP или по-добре направо JDOM ([линк]) правиш с данните каквото си искаш.
---------------------------
--------------------------
Въртиш в цикъл, докато стигнеш края на htmlString (там си записал сорса на html-to)
String txt = htmlString.substring(0, htmlString.indexOf("<"));
SAVE txt
htmlString = htmlString.substring(htmlString.indexOf(">"));
---------------------------
Ако ти е необходима по-сложна обработка на хтмл-то бих ти препоръчал да
използваш XML API.
За целта първо трябва да обърнеш HTML в XML (има библиотеки за това, напр. JTidy от [линк] ).
След което вече с JAXP или по-добре направо JDOM ([линк]) правиш с данните каквото си искаш.
---------------------------
Re: HTML content extraction
Еее мерси много! Много съм зле... за това със substring-a не се бях сетил... 
ABE NE SE ZNAE, ZNAE LI SE!