将中國天氣網近六天(因為有些城市提供的資料源隻有五天資料,是以我暫時取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()
實際運作計劃任務所用的時間。