JAvaネット爬虫類-爬取小説


今日突然1つのネットの爬虫類を書いて自分で読んでいる小説《聖墟》を少し取り出したいです
小説のURL:http://www.biqudu.com/43_43821/
皆さんもこれを使って別の小説を登ってみてください.(主に正規表現を書き、法則を探す)
私の考え:
1.小説の章節目録のURLを見つける
2.章目録のURLに各章のURLを登録する
3.章ごとのページから章ごとの内容を抽出する
コードは次のとおりです.
package cn.hncu.net.spider;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.junit.Test;

public class SpiderDemo2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			URL mulu=new URL("http://www.biqudu.com/43_43821/");
			BufferedReader br=new BufferedReader(new InputStreamReader(mulu.openStream()));
			BufferedWriter bw=new BufferedWriter(new FileWriter("abcde.txt"));
			
			String mainContextReg="
《 》
"; //
String urlReg=""; Pattern mainContextPattern=Pattern.compile(mainContextReg); Pattern urlPattern=Pattern.compile(urlReg); String str=null; boolean boo=false; // かどうか while((str=br.readLine())!=null){ if(!boo){ Matcher mainContextMatcher=mainContextPattern.matcher(str); if(mainContextMatcher.find()){ boo=true; System.out.println(str.substring(str.indexOf("")+4, str.lastIndexOf(""))); } }else{ Matcher urlmatcher=urlPattern.matcher(str); if(urlmatcher.find()){ // System.out.println(urlmatcher.group()); // String str1=urlmatcher.group(); String url="http://www.biqudu.com"+str1.substring(str1.indexOf("")); // System.out.println(str1); // System.out.println(url); zj(url,bw); } } } br.close(); bw.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void zj(String url,BufferedWriter bw){ try { URL mainUrl=new URL(url); BufferedReader br=new BufferedReader(new InputStreamReader(mainUrl.openStream())); String titleReg="[\\s\\S]*"; String contextReg="[\\s\\S]*"; String newLine=""; String spac=" "; Pattern titlePattern=Pattern.compile(titleReg); Pattern contextPattern=Pattern.compile(contextReg); Pattern newLinePattern=Pattern.compile(newLine); Pattern spacPattern=Pattern.compile(spac); String str=null; String title=null; String context=null; while((str=br.readLine())!=null){ Matcher m = titlePattern.matcher(str); if(m.find()){ title=m.group(); bw.write(title.substring(4, title.lastIndexOf("