ニュースのウェブページから主要な内容(リンク、広告などを除く)を抽出する必要があります。私はウェブでそれについて読んだことがあることを知りました。 HTMLページを解析し、HTMLタグから内容を選択します。私は入力としてhtmlファイルを取り、java.swing。で利用可能なHtmleditorkitを使ってWebページからテキストを抽出するコードを書いています。 ニュースのウェブページからメインコンテンツを抽出するのが難しい
import java.io.IOException;
import java.io.FileReader;
import java.io.Reader;
import java.util.List;
import java.util.ArrayList;
import javax.swing.text.html.parser.ParserDelegator;
import javax.swing.text.html.HTMLEditorKit.ParserCallback;
import javax.swing.text.html.HTML.Tag;
import javax.swing.text.MutableAttributeSet;
public class HTMLUtils {
private HTMLUtils() {}
public static List<String> extractText(Reader reader) throws IOException {
final ArrayList<String> list = new ArrayList<String>();
ParserDelegator parserDelegator = new ParserDelegator();
ParserCallback parserCallback = new ParserCallback() {
@Override
public void handleText(final char[] data, final int pos) {
list.add(new String(data));
}
@Override
public void handleStartTag(Tag tag, MutableAttributeSet attribute, int pos) { }
@Override
public void handleEndTag(Tag t, final int pos) { }
@Override
public void handleSimpleTag(Tag t, MutableAttributeSet a, final int pos) { }
@Override
public void handleComment(final char[] data, final int pos) { }
@Override
public void handleError(final java.lang.String errMsg, final int pos) { }
};
parserDelegator.parse(reader, parserCallback, true);
return list;
}
public static void main(String[] args) throws Exception{
FileReader reader = new FileReader("C://Users//Mukul//Desktop//demo.html");
List<String> lines = HTMLUtils.extractText(reader);
for (String line : lines) {
System.out.println(line);
}
}
}
しかし、私の問題は、私は、私はニュースのウェブページから記事などのWebページからのみ、メインのコンテンツを選択することができますどのように把握するエーブルないよです。
また、私は構文解析のやり方を知りたいのですが、Jsoup、Jtidyなどのオープンソースライブラリを使用する必要があります。同じもののために。
私が助けて間違っている箇所を修正してください。