わからん
クロマニヨンズのサイトが更新されたかチェックするためにHTMLファイルを解析しようと思っている。
しかしHTMLファイルの一部が読み込めない。
明日にはこのコードが何をやってるのかも分からなくなっているはず。
importに*使うほどモチベ無し。gm。
【Test.java】
package test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.*; class Test{ public static void main(String[] args) throws Exception{ URL url = new URL( "http://www.cro-magnons.net/info/" ); URLConnection connection = url.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( connection.getInputStream(), "UTF-8" ) ); try { String str = null; // HTMLファイルの行が入る StringBuilder news = new StringBuilder(); // 「最新情報」のテキスト StringBuilder date = null; // 更新日時 StringBuilder title = null; // 記事タイトル int delete_point = -1; // 元文字列から削除したい文字の場所 // 最後の行まで読み込み while ( ( str = in.readLine() ) != null ) { news.append( str + "\n" ); /* HTMLファイルをいじる処理 */ } System.out.println( new String( news ) ); System.out.println( "TITLE : " + new String( title ) ); System.out.println( "DATE : " + new String( date ) ); in.close(); } catch ( Exception e ) { } } }
これで得たHTMLの中身がコレ。
Chromeから落とした正規のHTMLファイルがコレ。
a href=以降のURLが省略形になってるし、一番欲しいニュース欄のところ(ulタグ以降)が全部消えてる。
コードで怪しそうなのはin.readLine()。
正規のHTMLだとニュース欄の文字列がクッソ長いから、エラーが起きてるのかもしれない。