當前位置: 華文問答 > 數碼

你有哪些用電腦技能解決生活問題的經歷?

2016-02-18數碼

update:

成績出來了,數學爆炸118,浙江6900名,再見ZJU!
============================================

then:去了四川大學電腦系.

高中生,第一次看到了一個可以回答的問題。
浙江的,從今年開始,教育廳不把成績打包發給學校了。。。。。。可是,學校需要知道所有學生的學考選考成績才能做決策啊!!
怎麽辦吶?

我的學校是這樣解決的:自己周末查好自己的成績,記住。
返校後,填在一張表格上。
每個班拎一個人出來錄入本班的成績。

我是錄入的人之一啊】。。過於痛苦,因為每個人的學考選考考試都是不一樣的。找對應的格子眼睛都酸了。
當時(一個月前),正好激情澎湃想學一點爬蟲。然後直接幹上了。
因為學校有所有學生的身份證,又會有所有的準考證,那麽理論上,是可以用程式一下子查完全校所有學生的成績的。

於是開始寫程式。
開始什麽都不懂,python都沒碰過,連爬蟲是什麽都不知道。
然後用少的可憐的課余時間上網自學。
開始弄清HTTP、HTML、python語法。
程式是這麽設定的:
給它一個有對應身份證和準考證號碼的excel檔,自動輸出查詢結果。

現在已經100%完成了。
寫程式碼時的插曲:
1、發現驗證碼是在HTTP response裏面明文寫著的。當時激動跪了。用chrome看request和response的header和表單數據,發現出奇的簡單。於是沒有引入處理cookie的庫,直接在程式裏用python強大的文本操作能力解決了。
2、浙江省教育考試院的伺服器有一定的反爬機制,所以只能兩秒鐘獲取一個數據才不會被拒掉。
3、自己一個人潛下心來幹的時候,效率是最高的。

用批次處理執行pip install自動安裝庫,自動執行主程式。
貼程式碼圖一張:

成果:

(已經隱藏第一列的準考證號,刪除了第一行對應的科目。這些數據不是我們學校的,它們範圍更廣。)

執行的時候:

傻傻的批次處理:

主要功能:
1、支持斷點,每一次開啟都會檢測上一次下載到哪裏。
2、容錯。有關檔的、有關網絡的錯誤都會給出提示,不會爆掉

這便是人生中第一個有使用價值的程式。

現在高二。 想進ZJU 讀CS。