首頁 > 軟體

「現在想起結局,還是好生氣!」程式設計師吐槽權遊的爛尾言。

2021-05-27 23:33:05

你追過《權力的遊戲》麼?

——來自扇貝程式設計某個同學的提問。

《權力的遊戲》海報

《權力的遊戲》從2011年正式開播到現在,已經過去了整整十年。這部恢弘鉅製以龐大的世界觀,豐富的人物刻畫和視覺效果,在這十年間吸引了全世界無數的劇迷,也贏得了美劇的巔峰,獲獎無數。

雖然這不是一部讓每個人都滿意的作品,但它一定是一部承載了許多人近十年回憶的作品。

然而,你還記得2019年的5月,你追過的《權力的遊戲》大結局麼?

《權力的遊戲》前七季的豆瓣評分基本上都保持在9.4以上,直到第八季跌至6.1,可以說這是史詩級的爛尾了。

圖源網路

到現在還有觀眾真情實感的狂罵爛尾,甚至在近日播出的劇集《九號祕事》中,有一集在提爛尾和粉絲吐槽,暗暗的影射《權力的遊戲》的爛尾。

《九號祕事》截圖

我們的同事小凡就是《權力的遊戲》的粉絲,也是被第八季爛尾迫害的學霸。

圖源網路

這位學霸本身就是《權遊》的小說粉,被劇集爛尾傷害到後,又去重新看了原版小說。

他用 Python,結合筆記工具 Notion 做了一個單詞記憶工具,用來幫助自己順利讀完並吃透了《權遊》原版小說 A Song of Ice of Fire(冰與火之歌)

今天我們把小凡的乾貨分享給大家,教大家如何用 Python,做了一個單詞記憶工具。

同時也是希望同樣被爛尾坑了一波的同學們,轉戰原著,細細品味原版小說的魅力。

天才No.1步

《冰與火之歌》的原著的體量實在太大,作者同時也會使用仿古的腔調,用上各種生僻詞,將景色和人物描寫得恰到好處。但這些生詞非常讓人頭疼。

但好在小凡發現,作者馬丁也是凡人,詞彙量不可能無限大,每用到一個生僻詞,總是會在後面的章節中出現若干次,所以,只要一開始讀到生詞的時候花力氣記牢,之後這樣的詞出現無數次也不怕了。

於是,小凡直接將原著的 epub 電子版用 Python 解析,拆成了一個個簡單文字檔案,並用自然語言處理包 spacy 將全五本書直接拆成了單句,一共 16 萬多條:

第二步

小凡根據這 16w 條例句,寫了個小程式:輸入對應的單詞,就能得到全書五卷中,所有這個包含該單詞的任意形式(單複數,過去式,分詞等等)的例句,以及章節名,並用 markdown 格式對關鍵詞加粗方便後續處理。

比如單詞 gallop,初識還覺得難記,但一將搜尋結果跑出來,發現在全書出現了幾百次——所以只要記住這個詞,能省下後面大量的精力:

具體拆解和分析文字程式碼寫起來還是有些費事的,po上關鍵的部分:

第三步

等到小凡已經積累了幾百個生詞,就發現有點吃力了,這時候需要一個能統一管理這些生詞和其在書中的位置及例句的工具。

小凡平時喜歡用 Notion 做筆記,因此想到,如果將每個單詞都能做成一個 Card,正面是單詞和釋義,反面將詳細例句,這樣就能順利分類和查看了。

不過 Notion 只是一個基於 html 的套皮筆記軟體,Card 只能一張一張手動建並填入資訊,實在是太麻煩了。這時候機智的小凡想到了大殺器——Python 的 Selenium 庫。

既然是 html,就能讓 Python 幫我們在瀏覽器中操作,自動建 Card 並填入釋義和例句。

當然,這一步是極痛苦的,因為 Notion 的網頁結構實在是太亂了!

分析網頁結構,定位要操作的元素就花了小凡一整天時間,好在終於將流程捋順,整理成了程式碼:

這樣,就可以讓 Python 在後臺自動操作網頁,成百上千的 Card 也能一下全部建好:

第四步

全部 Card 建完後,小凡將單詞分成了四類:新詞、複習詞、已掌握和遺忘,並打上相應的標籤做成看板:

點開每個 Card,就是單詞的詳情,自動用 Markdown 格式對關鍵詞加粗:

另外,還能將其轉成表格模式,結合 Notion 表格自帶的函數,判斷這個單詞有沒有默寫對,默寫正確就會自動打勾:

這樣,大家只要在手機上用碎片時間開啟 Notion,就能開始背單詞、看例句、默寫單詞,制定學習計劃。

Four hours later…

小凡表示經過這麼一折騰,自己讀原著的速度越來越快,馬丁的詞彙量再多,也只是在一開始出現的時候比較嚇人,只要用 Python 整理出來的 Card 將它們都記住,什麼生僻詞都不在話下!

這麼詳細的乾貨,你學會了麼?趕快行動起來,一起坐等馬丁老爺子的《冰與火之歌》第六部吧!

以上就是這周的乾貨分享,如果想繼續看乾貨,還想讓大佬們輸出更多技巧趕快關注並轉發我們吧。點選「關注」,馬上就能讀每週乾貨哦!#扇貝來程式設計,高效又有趣


IT145.com E-mail:sddin#qq.com