読者です 読者をやめる 読者になる 読者になる

<!--親の顔より見た光景-->

日々の発見を残していきます。

わからん

クロマニヨンズのサイトが更新されたかチェックするために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の中身がコレ。
f:id:akagi13213:20170502003717p:plain


Chromeから落とした正規のHTMLファイルがコレ。
f:id:akagi13213:20170502003756p:plain


a href=以降のURLが省略形になってるし、一番欲しいニュース欄のところ(ulタグ以降)が全部消えてる。

コードで怪しそうなのはin.readLine()。
正規のHTMLだとニュース欄の文字列がクッソ長いから、エラーが起きてるのかもしれない。