針對某個網頁的快照以及某些重要信息的抓取代碼解析_1

針對某個網頁的快照以及某些重要信息的抓取代碼解析

源代碼下載地址:http://download.csdn.net/source/1747877

1.先寫上配置文件:config.ini  配置幾個必要的參數

#------------------------要讀取的網頁地址---------------------------

url=http://192.168.100.27:9080/server-status

#---------------------------存放讀取的網頁文件地址-------------------

path_url=d:/snapshot/url/27server_$.htm

#------------------------截取某段重要信息的報告文件-------------------

path_report=d:/snapshot/report/report.txt

#------------------------日誌文件----------------------------------

path_log=d:/snapshot/log/log.txt

#-------------------------------截取內容規則-----------------------

regx=Current Time(.*)//d{1,4} requests currently being processed

#-------------------------------多少秒----------------------------

time=60

2.讀取配置文件:

public static ArrayList<Config> getConfigIni(){

java.util.Properties p = new java.util.Properties();

ArrayList<Config> al=null;

    FileInputStream fs;

try {

Config c=new Config();

al=new ArrayList<Config>();

fs = new FileInputStream("config.ini");

p.load(fs);

c.setUrl(p.getProperty("url"));

c.setPath_url(p.getProperty("path_url"));

c.setPath_report(p.getProperty("path_report"));

c.setPath_log(p.getProperty("path_log"));

c.setRegx(p.getProperty("regx"));

c.setTime(p.getProperty("time"));

al.add(c);

    fs.close();

catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

    p=null

    return al;

}

3.創建寫文件方法並設置爲私有:

/**

 * 創建新文�?並寫入文件內�?

 * @param writerfilename 要創建的文件的路�?

 * @param temp  要寫如文件的內容

 */

public static synchronized void CreateAndWriterFile(String writerfilename,String temp){

String tempwritename_1=writerfilename.substring(0, writerfilename.lastIndexOf("/"));//針對文件路徑�?/"截取

// String tempwritename_2=writerfilename.substring(writerfilename.lastIndexOf("/")+1, writerfilename.length());

Calendar c=Calendar.getInstance();

c.setTimeInMillis(System.currentTimeMillis());

File writename=new File(writerfilename);

File ifMkdir=new File(tempwritename_1);

if(!((tempwritename_1.substring(0,tempwritename_1.indexOf(":"))+1).equals(writerfilename.substring(0,writerfilename.indexOf("/"))))){

if(!ifMkdir.isDirectory()){

ifMkdir.mkdir();//判斷文件夾不存在,則創建文件夾

}

}

if(!writename.exists()){

try {

writename.createNewFile();//判斷文件不存�?則創建新文件

catch (IOException e) {

e.printStackTrace();

}

}

BufferedWriter bw=null;

try {

bw=new BufferedWriter(new FileWriter(writename,true));

bw.write(temp);//寫如新文件內的內�?

bw.newLine();//換行

bw.close();

catch (IOException e) {

e.printStackTrace();

}

}

4.創建讀取網頁內容的方法(這個方法是很簡單的那種):

public static String getWebContent(String domain) {

System.out.println("開始讀取內容...(" + domain + ")");

StringBuffer sb = new StringBuffer();

try {

java.net.URL url = new java.net.URL(domain);

BufferedReader in = new BufferedReader(new InputStreamReader(url

.openStream()));

String line;

while ((line = in.readLine()) != null) {

sb.append(line);

}

in.close();

catch (Exception e) { // Report any errors that arise

// sb.append(e.toString());

System.err.println(e);

System.err.println("Usage: java HttpClient <URL> [<filename>]");

}

return sb.toString();

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章