大學甄選入學交叉查榜開發誌

Development Log for Project Qizhang

97 年甄選入學第一階段篩選結果入庫

如您所見,97 年大學甄選入學第一階段篩選結果已經進入資料庫中了,目前的功能有:

  1. 看得到同一份榜單中的每一個人,還報名了哪些學校,推斷自己的勝算有多少
  2. 可以依高中序號查詢

至於很多人在問的姓名查詢,現階段是不實作出來的。雖然查榜的最終目的就是要查到人名,每年八月的志願分發,也有官方與民間網站合作提供的姓名查榜,然而為了避免造成某種不必要的困擾(?),人名查詢的功能我會把它留到最終分發之後再實作出來。

另外,事實上我並不知道我做這套程式,未經官方授權偷抓資料庫,是不是有違反著作權法或其他相關法規,到底有沒有在著作權法的合理使用範圍內,其實我並不清楚。如果哪一天甄選入學委員會來函通知我違法,那我會立刻把系統關掉。畢竟我並不想被抓去關 = =

因此為了讓這套程式保持最後一點純潔(?),您絕對不會在網頁顯示出來的任何一個角落看到任何廣告,就算是非商業性質的廣告我也不放,好讓我可以用『非商業、學術研究性質』來說嘴 orz。 況且我的主機是放在學術網路(我學校宿舍的寢室),既然是學術網路,就不該做商業的事 XD。

最後,我很常被問到的是,會不會做科大、四技、警大、軍校的查榜,我的答案是不會,至少不可能整合進大學甄選入學裡面。其一是我不知道他們的招生方式,換句話說就是遊戲規則;其二是序號通常不一樣,所以查出來的結果可能跟實際結果有出入;其三是考慮到我這台主機的效能,應該撐不住。因此我認為還是給其他勇者來做吧 XD

有任何問題或建議,歡迎至留言板發表意見,謝謝 :)

心得:

我得說, Ruby on Rails 真的很吃系統資源,還好我這次對資料庫格式有重新設計過,查詢的次數變少,也就平衡了一些系統效率。

不過我這台機器事實上是用很平凡的家用型主機,CPU 只有單核心,AMD Sempron 3000+,記憶體 1.5 GB,其中 1GB 還是我前幾個禮拜去光華商場買的 (DDR2-667 1GB 下殺 600 NTD 超便宜)。這台機器的配備連 Windows Vista (開特效) 都跑不動。

同時機器有跑 Ubuntu Linux 的 GNOME Desktop Manager,簡單來說就是 Linux 的視窗介面, 有事沒事就會開虛擬機器的 Windows 起來用一用,要嘛看看公視新聞,要嘛用 Windows 的 Internet Explorer 測一下網站排版,所以其實這台機器是操很兇的 orz。3 月 17 日在  PTT Seniorhigh 板公開網址的時候,系統負載達到 28 (意思是 1 分鐘內有 27 個程式拿不到 CPU 資源,排隊等著;通常值應該在 0.5 以下),我這輩子第一次看到這種數字…

可是就算操這麼兇,我還是沒有超出宿舍流量限制… 18日我的總上傳流量也才400 MB 出頭,配額限制是 10 GB … XD

如果說到抓資料,今年甄委會不知道是想到什麼,竟然用 UTF-8 來輸出網頁 (XD),其一是我不必煩惱官方版本自行造字時,轉不進 UTF-8 的問題,其二是很多罕見字都可以直接顯示了,不再是去年那種直接噴亂碼 = = 所以有興趣自己抓回來塞進資料庫的可以試試看,蠻簡單的。不過抓網頁原始碼的時候,記得在每次個連線中間要暫停 1 秒 ,不然會被當作 DoS :p

又想到,如果我真的被指控侵犯著作權或隱私權,而關掉系統的話,真的想查榜的也不必擔心,因為資料既然都是公開的,那只要把文字 parse 進資料庫,再做個前端的程式來讀資料庫就行了,要不要公開還是低調交流,那就是另外一回事了。簡單來說, 「殺了一個我,還有千千萬萬個我」 XD

總之我希望接下來可以很順利啦… 雖然我這次動作實在太大了 orz

廣告

Written by Yu-Cheng Chuang

2008 年 三月 20 日 星期四 於 3:26 上午

張貼於公告

8 回應

Subscribe to comments with RSS.

  1. 可以請教您是怎麼抓資料的嗎@@?

    Dylan

    2008 年 三月 20 日 星期四 at 11:45 下午

  2. 1. parse each link displayed on every single page of the result of stage 1

    2. save all of them into local filesystem

    3. parse them to clear plaintext one bye one (remove all html tags)

    4. push the plain data into my database

    and that’s all

    Chitsaou Yorkxin

    2008 年 三月 21 日 星期五 at 12:02 上午

  3. 水阿!Yorkxin又出手了!
    你太強大了!!!!!!

    FLJX

    2008 年 三月 21 日 星期五 at 2:46 下午

  4. for i in 1011..1593 do
    system ‘wget http://www.caac.ccu.edu.tw/caac97/97stage1/html/common/apply/00'+i.to_s+‘.htm’
    end
    while true
    find = gets.chomp
    for i in 1011..1591
    filename = “00#{i.to_s}.htm"
    if File.file?(filename)
    file = File.new(filename,"r")
    name = “"
    while(line = file.gets)
    name = line.gsub(/]*>/, “") if line =~ /(00#{i.to_s})/
    puts name if line =~ /#{find.to_s}/
    end
    end
    end
    end

    That’s it…

    WHAT

    2008 年 三月 21 日 星期五 at 10:43 下午

  5. @WHAT

    差不多長這樣,但我只抓 available 的序號,避免因為試太多 404 Not Found 而可能造成中正大學官方擋我 IP 這樣 XD

    Chitsaou Yorkxin

    2008 年 三月 22 日 星期六 at 2:01 上午

  6. 打不開網站是…?

    why

    2008 年 三月 22 日 星期六 at 12:22 下午

  7. 本 (3 月 22) 日全天暫停服務,因為我有個作業需要用到這台主機的所有資源。

    不好意思喔 :p

    Chitsaou Yorkxin

    2008 年 三月 22 日 星期六 at 12:54 下午

  8. 實際上,你沒有侵犯著作權,而是隱私權。但在臺灣,隱私權早已不存在了。因爲大學甄選委員會自己帶頭公佈考生証號及姓名,絲毫沒有考慮考生的隱私,所以你才能引用他們的資料,做出比他們更好的“服務”。

    因爲主管機關的無能,造就了你的舞臺!這真是臺灣教育界的荒謬劇場!

    加油嘍!

    daddy cheng

    2008 年 四月 15 日 星期二 at 7:17 上午


迴響已關閉。

%d 位部落客按了讚: