機房裡相當冷清,看不到一個人。

畢竟這會兒在放暑假,考研大軍們一般也用不上電腦。

走過去開啟空調,陸舟隨便找了臺機子坐下,輸入自己的學號和密碼,熟練地登入電腦。

之所以選擇學校的機房,主要是因為python語言編寫的程式主要都是在Linux系統下執行,直接在Linux環境下學習python語言可以說是一舉兩得。

而陸舟自己的二手筆記本實在太垃圾了,論文轉個pdf格式都得假死一會兒,玩個擼啊擼別人都開始對線了他才站上泉水,裝雙系統或者虛擬機器這些騷操作是不用想的。

“雖然書上都講得很清楚了,沒想到這玩意兒用起來這麼麻煩……果然紙上的東西和實際操作起來完全是兩回事,想學到東西還是得靠實踐啊。”

第一次使用Linux系統的陸舟只感覺兩眼抓瞎,照著從圖書館借來的說明教程看了好一會兒,才算是摸清楚了門道。

不得不說,別人windows系統佔據這麼大的市場份額還是有道理的,全圖型的作業系統即便是完全沒碰過電腦的小白,也能很輕鬆的上手。

然而Linux系統卻不一樣,基本上是命令列操作模式,透過鍵盤就能完成一切操作。也幸虧學校裝的是帶有桌面環境的發行版,要不陸舟還真不知道滑鼠這玩意兒有啥用。

當然了,Linux的優點也很明顯,超強的可定製性和安全性使得它比windows系統更適合伺服器等領域。而且一旦熟悉了命令列操作,效率將比windows系統高個數倍不止。所以很多企業在招聘伺服器前後端程式設計師的時候都會問一句,會不會用Linux系統。

熟悉了Linux系統的基本操作,陸舟開啟了python軟體,翻開了書本,坐在電腦面前發呆。

“說到python的運用之一就是編寫網路爬蟲,想要檢驗學習成果的話,從這個開始是最好的……可是做個什麼爬蟲呢?”

陸舟不禁陷入了沉思。

爬圍脖上的博文?

爬貼吧的帖子?

好像挺無聊的。

關鍵是爬下來的資料拿在手上沒用,多了連放的地方都沒有。

忽然,他心中一動,不知怎麼的就回憶起了每次回家痛苦的搶票經歷。倒不是因為他電腦卡,而是因為鐵道部官網的ui設計實在是太反人類了。

“用爬蟲技術爬取12306網站的各車站、車次、餘票資料資訊……這個好像可以搞啊。”

一想到這裡,陸舟也不再磨蹭了,立刻開始幹活。

畢竟作為python語言的一種典型運用範例,爬蟲程式的模板在書中都是有提到的,而且針對不同種情況,書中還針對演算法進行了不同程度的改良。

當然了,12306畢竟不是一般BBS論壇,把這個作為初學者的練習目標,還是有不小難度的。

不過也僅僅是不小而已,對於已經吃透了整本書的陸學霸來說,問題卻是不大。爬蟲本身並沒有太高的技術難度,不到30行程式碼就搞定了整個程式,完美執行無bug。

然後緊接著就是抓取了。

將網站的url複製在程式碼後面,陸舟選擇執行,並且將資料生成表格,導入到預先建好的資料夾中。

緊接著機箱的風扇開始嗡嗡作響,電腦變的卡頓起來,一行行編碼從黑色的對話方塊中閃過,被迅速整理進表格中。

看著不斷被填充的資料夾,靠在椅子上的陸舟心中感慨。

“python語言真尼瑪方便,難怪那麼多大牛推薦這玩意兒。”

看著一行行資料閃過的資訊,陸舟還真有種過把駭客癮的錯覺。

不過當然了,也僅僅是錯覺而已,連感覺都談不上,畢竟這玩意兒和黑客技術完全八竿子打不著邊。從伺服器上爬取公開資訊是不犯法的,頂多有擠佔別人服務器資源的嫌疑,會被各大站長痛恨不已。

所以很多“小氣”的網站會設定有反爬蟲程式,技術高點的要麼讓你什麼東西都爬不到,要麼爬下來的都是亂碼,技術含量低的也可以透過訪問次數監控,直接鎖了你的ip。

不過12306網站顯然沒那麼小氣,想想一個連使用者體驗都不在意的壟斷巨頭,會在意那點服務器資源?只要你們別把老子的伺服器折騰撲街了,誰管你!

看著資料夾裡不斷堆積的車次資料,陸舟眼睛轉了轉,尋思著要不要用它來乾點啥?

“做個訂車票網站?好像有些脫了褲子放屁……”

忽然,陸舟心中一動。

要不……

做個網上訂票的app?

這個臨時起意的想法一冒出來,便不可控制地在他心中生根發芽。

雖然網路上有不少第三方訂票app,但官方的訂票app還真沒有。如果他能做出來一個與眾不同的,賣給那些感興趣的運營商,說不定還能賺點生活費。

一涉及到錢的問題,陸舟頓時就上心了,心中開始不斷盤算了起來。

技術上,獨立完成一個app從前端到後端的開發,難度很高,遠非寫一個簡單的爬蟲程式能相提並論,不過卻並非無法完成。更何況,解決不了的演算法還能問系統嘛,消耗積分查詢資料本身也是一個學習的過程。

等他完成了獎勵任務,解鎖了人工智慧LV0這一分支科技,這些寶貴的經驗肯定能派上用場。

只不過購買並維持一臺伺服器恐怕得花不少錢,運營伺服器的電費和各種維護費用,恐怕也是一筆不小的開支……

而他的卡里只有不到一萬塊,恐怕燒出個小火苗都困難。

咬了咬牙,陸舟還是決定克服這些難題。

連50萬的年薪都放棄了,還有什麼做不到的?

就算撲街了,權當是做課設練手也無妨。

於是,陸舟關閉了程式,並沒有急著開始改程式碼,而是開啟word的文件,就像編寫論文的大綱一樣,開始設計app的開發流程大綱。

【目前用下來,聽書聲音最全最好用的App,集成4大語音合成引擎,超100種音色,更是支持離線朗讀的換源神器,huanyuanapp.org 換源App】

“火車票查詢必須爬取實時資料,對伺服器的效能要求很高,程式碼必須儘可能簡潔!”

“介面可以簡單,但資訊一定得準確、全面,這一點可以參考主流第三方訂票app,不過一定不能完全相似,必須有創新點……”

寫到這裡,陸舟的食指輕輕摩擦著鍵盤,思考了很久,才繼續開始敲打鍵盤。

“首先是自動搶票。這個應該算不上創新,好久以前獵豹、360幾個瀏覽器已經有了這個功能。”

“不過掛機自動刷票……好像還沒見過。”想著去年寒假的時候,訂票訂晚了,寢室裡的幾個牲口坐在電腦前按了快半個小時的f5,才刷出了幾張回去的票,陸舟就深切地感受到,廣大勞苦群眾過年回家的不容易。

透過不斷重新整理官網資料,有一定玄學機率會刷出一些票,其中有的是其他使用者的退票,有的陸舟也不確定是怎麼出來的,不過這個功能倒是可以考慮一下。

比如設定一個時間段和幾個車次,由伺服器代勞幫使用者自動重新整理資料,在餘票出現的一瞬間提交訂單。就目前他看到的幾款搶票軟體中,好像還沒這個功能。

而且在演算法上,實現起來好像也不是很難。

想到這裡,陸舟抬頭看了下掛鐘。

現在是下午3點!

儲存了word文件,陸舟幹勁十足地擼起袖子,雙手放在了鍵盤上。

“開始幹活!”

章節目錄

推薦閱讀
相鄰推薦