
No.1ベストアンサー
- 回答日時:
一気に取得できるようなAPIはありませんが、
自分で作るとなったときに便利なものはあります。
javax.swing.text.html.parser.ParserDelegatorと、
javax.swing.text.html.HTMLEditorKit.ParserCallback
を使うと、HTMLタグの解釈は楽だと思います。
(substringで部分文字列を切り取るようなことは不要です。)
ちょっと長くて申し訳ないですが、サンプルです。
実際に動かして試してみてください。
----------------------------------------
import java.io.*;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.html.parser.ParserDelegator;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTML;
public class ParserTest{
/**
* 引数でHTMLファイルを指定
*/
public static void main(String[] args) throws IOException, FileNotFoundException{
new ParserTest(args[0]);
}
public ParserTest(String file)throws IOException, FileNotFoundException{
ParserDelegator parser = new ParserDelegator();
HTMLEditorKit.ParserCallback mycallback = new MyCallBack();
parser.parse(new FileReader(file), mycallback, true);
}
private static class MyCallBack extends HTMLEditorKit.ParserCallback{
boolean td = false;
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos){
if (t.equals(HTML.Tag.TD)){
td = true;
}
}
public void handleText(char[] data, int pos){
if (td){
System.out.println(new String(data));
}
}
public void handleEndTag(HTML.Tag t, int pos){
if (t.equals(HTML.Tag.TD)){
td = false;
}
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
JAVA 乱数で同じ数字を出さな...
-
文字列を数式に
-
JAVAのアプレットの文の改行方法。
-
HTMLでのTableタグデータ取得方法
-
Javaで常駐するソフトを作って...
-
Java swing RTFファイル 文字化...
-
setAttribute(String, int)は適...
-
Xercesを使ったjavaでのXML解析
-
【JAVAエラー】互換性のない型...
-
JTabbedPaneのタブが開かれてい...
-
Javaを使ってデジタル時計を作...
-
JavaMailについて
-
Androidで画面遷移ができません.
-
JTableでスクロールバーが表示...
-
文字サイズが可変のラベル
-
javaで画像出力
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
ColabでのPytorchのエラー
-
<forEach> 内で供給された "ite...
-
setAttribute(String, int)は適...
-
シャットダウンフックが呼ばれない
-
importするには java.io.*; imp...
-
python OpenPyXLを使って出力結...
-
Javaを使ってデジタル時計を作...
-
HTMLでのTableタグデータ取得方法
-
Java での グローバルIP取得
-
Xercesを使ったjavaでのXML解析
-
JavaMailについて
-
コンパイルができません…
-
GridBagLayoutについての質問
-
透過GIFの判定の仕方ありますか?
-
サーバーAからサーバーBへPOST...
-
ある年月の前月(月の開始日)...
-
jFrameを使って複数の画面を生...
-
文字列を数式に
おすすめ情報