天天看點

經過一周的掙紮,目前天氣預報抓取解析插入資料庫的功能已經大緻實作,附項目源碼

将中國天氣網近六天(因為有些城市提供的資料源隻有五天資料,是以我暫時取5天,程式裡依然是六天的标準)的天氣情況抓取,用json解析,存入資料庫,資料庫是兩張表,城市表和天氣表。程式可以運作,兩個表都能讀入資料,城市表大緻讀入了423行資料,天氣表大緻讀入了1800行資料。程式的缺點在于,暫時還沒寫注釋,面向對象還未展現,沒有實作每天定時抓取的性能,需要人工每天手動運作程式抓取資料。。。。。

附源碼:

http://download.csdn.net/detail/opzoonzhuzhengke/3860118

剛才實作了一下定時抓取

不貼代碼了,大緻看下這個例子,改吧改吧就行了

timer類就像一個定時器,用于設定特定的時間或周期,來配合線程動作的執行,但是隻調用timer無法執行線程動作,必須配合另一個類timertask的方法才能使用。從示例6-13中可以發現timer類與thread類很相近。

public

timer ()

建立一個新的timer對象。

timer屬于計時器類,time建立後,需要調用schedule()方法來執行計劃任務,計劃排程的方法有許多運用方式:

void schedule (timertask task, long delay)

執行任務前先等待一段時間。task代表要執行的任務,delay代表需要等待的時間,機關為毫秒(1000毫秒為1秒)。

void schedule (timertask task,date

time)

在指定的系統時間time之後開始執行任務。

void schedule (timertask task,long

delay,long

period)

延遲一段時間後開始執行任務,任務按照設定的周期執行。傳入的參數:delay為延遲時間,period為周期時間,機關均為毫秒。

void schedule(timertask task,date

firsttime,long

在指定的時間後開始執行任務,任務按照設定的周期執行。傳入的參數:firsttime為指定等待時間,period為周期時間,機關都是毫秒。

void scheduleatfixedrate (timertask task,long

執行任務内容後,等待delay時間,再按照period周期時間繼續執行任務,機關都是毫秒。

void scheduleatfixedrate(timertask

task,date

先等待一段時間firsttime,再執行計劃任務,然後按照period周期時間繼續執行任務,機關都是毫秒。

void cancel()

停止timer計時。

有了timer的各項調用方法,還不能直接執行計劃任務,需要跟timertask類共同運用才能使計劃任務開始運作。timertask所包含的相關方法如下:

void timertask ()

建立一個新的timertask對象。

abstract void run()

運作計劃任務的工作内容。

中止timertask類的執行流程,不再執行所排程的工作内容。

void scheduleexcutiontime()

實際運作計劃任務所用的時間。