- 網絡數據采集技術:Java網絡爬蟲實戰
- 錢洋等
- 649字
- 2020-09-29 15:49:49
2.8 日期和時間處理
java.util包提供的處理日期和時間的類有SimpleDateFormat、DateFormat、Date以及Calendar。其中,SimpleDateFormat和DateFormat類用來實現日期和時間的格式化,常使用的方法有format(Date date)和parse(String source);Date類主要處理指定格式的時間;Calendar類主要用于年月日類型數據的轉換。
在采集數據時,不同網站的時間使用格式可能不同。而不同的時間格式,會為數據存儲以及數據處理帶來一定的困難。例如,圖2.13所示為某汽車論壇中的時間使用格式,包含“yyyy-MM-dd”和“yyyy-MM-dd HH:mm”兩種格式;圖2.14所示為某新聞網站中的時間使用格式為“yyyy-MM-dd HH:mm:ss”。
針對汽車論壇中的“yyyy-MM-dd”和“yyyy-MM-dd HH:mm”格式,可以統一轉化成“yyyy-MM-dd HH:mm:ss”格式,以方便數據存儲以及后期數據處理,如程序2-14所示。在程序2-14中,parseStringTime()方法的作用是將字符串類型的時間標準化成指定格式的時間,這里通過調用DateFormat類中的parse()方法和format()方法來實現。

圖2.13 某汽車論壇中的時間使用格式

圖2.14 某新聞網站中的時間使用格式
程序2-14


圖2.15所示為程序2-14的輸出結果。

圖2.15 格式化時間
另外,采集數據時,通常需要記錄每一條數據的采集時間。圖2.16所示為采集的汽車銷量數據,字段craw_time表示采集每條記錄的時間信息。程序2-15給出了獲取當前時間的一個通用方法。在該方法中,使用了Date類的無參構造方法創建了一個Date對象,進而獲取當前時間。
程序2-15


圖2.16 采集的汽車銷量數據
再者,一些網站的時間格式為UNIX時間戳(即從1970年1月1日開始經過的秒數)。圖2.17所示為國外某藝術品網站,基于瀏覽器抓包(下一章中講解),發現該網頁的時間格式為UNIX時間戳,如圖2.18所示。為將UNIX時間戳轉化為指定格式的時間,需要構造一個通用的方法,如程序2-16所示。
程序2-16


圖2.17 國外某藝術品網站

圖2.18 網頁中的UNIX時間戳
- Instant Testing with CasperJS
- JavaScript+DHTML語法與范例詳解詞典
- Vue.js 3.x從入門到精通(視頻教學版)
- 我的第一本算法書
- DevOps Automation Cookbook
- 網頁設計與制作教程(HTML+CSS+JavaScript)(第2版)
- 劍指MySQL:架構、調優與運維
- Learning Laravel's Eloquent
- HTML5 APP開發從入門到精通(微課精編版)
- 微服務架構深度解析:原理、實踐與進階
- Mastering Linux Security and Hardening
- HTML+CSS+JavaScript編程入門指南(全2冊)
- 深入理解BootLoader
- Learning VMware vSphere
- Java程序設計教程