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ランキング
-
「例外 *** は対応する try 文...
-
<forEach> 内で供給された "ite...
-
Selenium IDEでexportしたコー...
-
文字列を数式に
-
【Java】エラーの意味・直し方
-
importするには java.io.*; imp...
-
createImage()を使い コンパイル
-
BufferedReaderなどについて
-
生年月日と今日の日付から年齢...
-
eclipseに記述したjavaファイル...
-
javaで質問です。 文字列2023/2...
-
[JAVA]try 内の変数を外で!?
-
C言語のポインターに関する警告
-
応用情報技術者試験の令和元年...
-
System.err. printlnとSystem.o...
-
ダブルクォーテーションのrepla...
-
JSPやサーブレットでSystem.out...
-
JSP/Servletのパラメータの受け...
-
ループ処理の際、最後だけ","を...
-
JavaScriptでcgiの戻り値を受け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
Javaを使ってデジタル時計を作...
-
ColabでのPytorchのエラー
-
importするには java.io.*; imp...
-
生年月日と今日の日付から年齢...
-
ファイル名を動的に生成したい
-
文字列を数式に
-
<forEach> 内で供給された "ite...
-
Javaからストアド実行(配列項目)
-
シャットダウンフックが呼ばれない
-
ActionForm form にnullが入っ...
-
setAttribute(String, int)は適...
-
(急募)JavaカレンダーをGUI可に...
-
文字サイズが可変のラベル
-
python OpenPyXLを使って出力結...
-
Java での グローバルIP取得
-
データの外挿について
おすすめ情報