大三資料庫專題1-資料生成心得

大學三上的重頭戲非資料庫專題莫屬,我是負責後端的部分,總共分成兩部分,資料生成和 django,今天來講第一部分。

我們專題的資料是從 Codeforces 上爬下來,在整理到 MySQL 上,過程中我都是用 python 實作。

首先要用 bs4 來把資料抓下來,這部分就是先到網站上看網頁的架構,再來就是要如何儲存,我是用 json 當作資料格式,過程中遇到的問題是 tag 可能會有很多個,所以要再多包一層,所以我的 json 會看到由多層 [] 包起來的資料。我一開始是用自己的電腦抓資料,後來發現這樣我必須一直開電腦,所以我改用學校提供的虛擬機跑,搭配 tmux 的多視窗同時跑(為了節省時間),既方便看起來也很舒壓。

再來是放在 MySQL 上面,這裡遇到很多問題,例如題目有俄語(Codeforces 是俄羅斯人創立的),submission 沒有對應的題目(官網的 problemset 沒有把所有題目放出來),我用一些方式解決了,但這樣造成資料和真實地有出入,也沒有把我爬下來的資料用完(大概只用 1/10),就這樣把資料庫的資料放完了。

如果各位有興趣,可以看這裡看我的程式碼,資料的部分也在上面,但不建議看,沒有參考價值。


如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Recommended Posts