2016年7月25日 星期一

[Python] 簡易網站爬蟲 ( Web Crawler) 抓取公開資訊觀測站的資料 - Payload 和 Session (下)


上一篇說明如何使用session 和 payload 進入資料畫面,這一篇就會非常簡單的介紹怎樣 parsing 要用的資料.有大大提示使用Pandas 的 read_html 會輕鬆很多,但是我還沒試驗,等我試驗成功再來介紹.

因為這個網頁包了非常多東西,除了目標表格外,外面還有好幾層.所以我們先透過 html tag 走訪,找到要解析的表格.這裡是用 BeautifulSoap 這個套件來處理.要注意每個function完之後物件型態是啥.例如 find() 會吐回 Bs4 物件,可以繼續用 tag 方式解析HTML,但是如果是用 find_all() 則會吐回 list 物件.


這個表格長得很單純,基本上找到 td 這個 tag 就可以找到所有的內容.這邊只是另外用 if else 處理有時候會遇到空白的欄位;以及先找到第一個 raw 把 header 解析出來.因為之前的文章有提到怎樣看 html 檔案,這邊我就不再多說.有興趣可以爬一爬之前或其他大大的文章.