創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部分的內容,位於Json的revisions欄位內 定義有關實體類,用於把收到的json數據轉換為對象 根據轉換的對象,可以看到對象內所有需要的內容,都在Content欄位裡面了。由於不知道是否存在多層結構,所以此處使用迴圈來遍歷內容。先搭建個模子。 編寫一個正則表達式,根據規律,可以識別出,每個詞條都是以[]的形式存在,並且存在嵌套內容,所以做一個數據清理,清理嵌套抽重覆的數據。 解析出來的新文本,看起來內容舒服一點了。然後我們只需要獲取[[xx年]]的這些詞行數據,所以可以繼續做個數據清理,匹配正則表達式 根據匹配的正則表達式內容,做個遍歷輸出 查看輸出的內容,可以看到已經被過濾成功了: 不過預設是繁體字,咱們再完善下,做成簡體字。先安裝一個古老的包:ChineseConverter 有提示不用管,能用。 然後直接調用即可: string simplifiedText = ChineseConverter.Convert(繁體中文字元串, ChineseConversionDirection.TraditionalToSimplified); 然後重新跑一下,可以看到繁體變成了簡體了。 最後,剩下的一些括弧等符號,或者特殊字元,只需要做一個全局替換即可。以及如果需要解析其他內容,也可以自行再開發一個對應的正則表達式即可。 如需以上源碼,可在個人公眾號【Dotnet Dancer】後臺回覆“歷史上的今天” 即可獲取以上源碼。 歡迎加入QQ群: 群號:1079830632