實踐排程公開資訊觀測站爬蟲API並寫信通知(1)Python爬蟲

Msx Wu
WU TH Max
7 min readMar 11, 2021

--

重大訊息綜合查詢>重大訊息主旨全文檢索

實習間的需求,內容是寫一支爬公開資訊觀測站重大訊息的腳本,並且將一段時間內的資訊統整,透過寫信通知給指定人,完成這部分後,再上雲然後做排程去跑,本次內容還未講述到排程部分,不過預計是使用Azure Function,以Serverless的方式,再設定Timer,固定時間去跑這隻腳本。

先了解form傳遞資料的方式 是將填入的參數丟body然後post出去

(Request URL:https://mops.twse.com.tw/mops/web/ajax_t51sb10

Form Data參數部分

用POSTMAN嘗試與瀏覽器時一模一樣的行為 發現沒什麼問題

主要只有中文需要從字符轉換為UTF-8編碼
(e.g. 不動產->%E4%B8%8D%E5%8B%95%E7%94%A2)

接著就開始用python寫requests

使用requests做post 把要搜尋的參數以data丟入
得到的response(raw html)用bs4接 然後做需求目標做抓取並回傳一個指定內容的list

result:

接著開始準備將成果發信的階段
參考 https://www.learncodewithmike.com/2020/02/python-email.html
取得Gmail應用程式密碼 接著跟著此文操作運作

比較特別的是 這邊加了一個簡易的html表示我想表達的table

最後統整content 送出

以非常簡易的方式產出一個email html template
成果

--

--