工作上被交代要做一些資料整理,剛好有學了一些很粗淺Python,那不如就拿來實戰看看!!
上頭覺得要花很多時間去點網頁,但科技始終來自人的惰性。OK~走起
Python的程度是從0開始,曾在在職訓練網報名課程學了三次,紀錄try and error的解決過程。
你會獲得:觀察網頁方法、讀取json檔案、輸出成csv檔
目標網頁:https://www.cathaylife.com.tw/cathaylife/services/rate
要蒐集某壽險公司的宣告利率(Declared interest rate)數字
第一步:網頁右鍵→檢視網頁原始碼
我們想抓1.62這個數字,所以在原始碼裡面搜尋(Ctrl+F)相關的關鍵字:EH、1.62或中文都可以
結果呢...?!搜尋不到,也就是說爬蟲第一個起點用requests.get就是抓網頁原始碼的內容,抓下來也找不到想要的東西。實戰第一場就失敗......
第二步:網頁右鍵→檢查(這裡會看到比較多東西)→網路
看到資料都是空的,所以按下F5重整網頁,會跳出所有網頁載入的資料
問:這麼多檔案,要開哪一個才對? 答:不知道
但可以稍微猜一下---想抓的資料200多筆,檔案應該會大一點,載入時間也會相對較長,上圖是已經用時間長短排序的樣子,點"一下"第一個 getAllByJoinZ5 進去看看
OK~發現要的資料了,那怎麼抓下來? 我又不知道了...
回想上課的東西,這個格式是json,Python可以處理json格式。好的,把它全選後貼到記事本,另存新檔成"rate.json"就變成我會處理的東西了。
PS:記事本存檔存成UTF-8好像比較不會亂碼,再把副檔名txt改成json
第三步:進coding ↓↓ 使用Spyder(Python3.9),以下畫面是嵌入程式碼,非Spyder實際畫面
第一段是把rate.json讀進python,再用迴圈把資料讀出來
第二段寫出檔案成csv後續就可以用excel編輯了
PS:Spyder的工作路徑就是rate.json要放的地方,csv檔也會寫出在這裡
後來發現一些新東西,寫在part2......
留言列表