2019年12月18日 星期三

[程式] 如何查看 POST 資料,以公開資訊觀測站為例


很想來玩玩爬財報,看到網路上這篇 Python 財報爬蟲 覺得很有趣,但總覺得有釣竿會比直接吃魚好一些,就開始研究他的程式到底怎麼做出來的,其中我搞不清楚的就是公開資訊站的財報資料是要用 POST 的方式送出資料的,Python 可以做到送出 POST 這個沒問題,但我怎麼知道 POST 要帶出哪些東西?(如下)

r = requests.post(url, {
        'encodeURIComponent':1,
        'step':1,
        'firstin':1,
        'off':1,
        'TYPEK':'sii',
        'year':str(year),
        'season':str(season),
    })

查了他網頁原始碼,再用了一些 web sniffer 工具,最後再 Google 一陣子後,發現原來 Chrome 就有非常好用的工具可以找出此次 POST 是帶什麼資料

打開 Chrome Menu -> 更多工具 -> 開發人員工具(Ctrl + Shift + I)

接著選到上方有一個 Network,然後按網頁上你想看的動作,目前的範例是 公開資訊觀測站 上的查詢,接著在 Network 左下方出現的 request 點一下,就可以看到下方的 Form Data,裡頭就是 POST 要帶出的資料

我用的 Chrome 版本是 79.0.3945.79,這個開發人員工具真的非常好用,希望大家都能學會。

Reference
Python 財報爬蟲