搭建自動化輸入系統,2017 年我這樣高效獲取信息

想法的原點

在信息資訊過剩的時代,相信很多人都會面臨文章太多讀不完,播客、視頻太多消化不完的問題,搭建一個高效自動化的信息輸入系統是我在 2017 年完成的最有成就感的事,不僅提高了消費信息的效率,還極大緩解了焦慮。它可以實現一個微信公眾號更新的文章自動添加到 Instapaper 並發送通知,也可以通過爬蟲離線閱讀一個博客的所有文章,甚至可以把博客所有內容做成電子書,還可以存放所有想要看的視頻。

這個系統源於 Castro 這款軟體的啟發:

面對一個播客節目,有 4 個優先順序選項,分別是

  • Add to Inbox:需要看具體節目決定要不要加入 Playlist
  • Queue Next:自動添加到 Playlist 的列表首位,無條件第一時間收聽
  • Queue Last:自動添加到 Playlist 的列表末位,無條件收聽,優先順序較低
  • Archive:只做存檔備份

由此我希望我的系統有如下功能:

  1. 有一個 reading list/playlist 存放著我要讀/聽/看的內容,這樣任何時候你想讀點/看點什麼的時候,經過挑選的內容已經在列表裡等著你了,拿起來就讀,而不用先花時間挑選內容,也不用把時間浪費在刷各種 timeline 上
  2. 對信息源提供 2 種不同優先度的處理:每篇文章必讀的信息源的內容自動加入 reading list,選讀的信息源根據更新的具體內容手動決定
  3. 當有必讀信息源內容更新時,發送通知,最喜歡的節目更新(比如 checked 或者愛否科技)了當然想第一時間知道

接下來介紹下用作 Playlist 和 Inbox 的工具。

自動化工具

Playlist

我用稍後閱讀服務 Instapaper 作為 reading list/playlist 的工具,用於存放所有我覺得值得閱讀的文章和值得看的視頻。這裡之所以選 Instapaper 而不是Pocket的原因是因為我比較喜歡 Instapaper 的 UI 以及文件夾的設計,Home 視圖相當於 Instapaper 的 inbox,存放著所有等待被歸類或者無法被歸類的內容,其他文件夾放著對應內容,比如 Video 存放所有視頻,作為視頻的 Playlist,Longform 放著所有需要半個小時以上閱讀時間的長文章。

在iOS端,我之前一直使用 Reeder 作為 Instapaper 的客戶端,因為 Reeder 閱讀界面文字和背景的配色對比度較低,更適合長時間閱讀。但是換了 iPhone X 之後,我又換回了 Instapaper 的官方客戶端,因為 Reeder 的全面屏優化不夠好,在閱讀界面的頂端和底端都有一條 bar,無法自動隱藏,給開發者郵件反饋也沒有收到回復。

在 Mac 平台,似乎並沒有比 Reeder 更好的 Instapaper 客戶端。

Inbox

我用 RSS 作為 Inbox 的工具,用於收集所有信息源的更新,快速瀏覽內容,從中挑選值得閱讀/觀看的文章/視頻,加入 playlist。App 方面我用的是 Reeder。Reeder 算是 RSS 類 App 的標杆,出色的穩定性、豐富的快捷鍵支持,可以接入多種 RSS 服務以及漂亮的UI都讓它與眾不同。更重要的是,支持 iOS 和 Mac 雙平台。

下面介紹下如何針對文章、音頻和視頻搭建這套系統。核心是通過 RSS 搭建整套系統,對訂閱方式不直接的信息源(如微信公眾號和視頻平台)進行處理,以及不能被訂閱的信息源(如整個博客)進行額外處理。

文章自動化

RSS 訂閱源

大部分的信息源都可以用 RSS 訂閱,就連 Twitter 和微博都可以,只不過我覺得 Twitter 和微博的內容用 Tweetbot 和 Cosmos 來閱讀體驗更好。

訂閱了所有信息源之後,對於選讀信息源,通過在 Reeder 中快速瀏覽標題的方式篩選出值得進一步閱讀的內容,一鍵添加到 Instapaper 中(在 Mac 上的 Reeder 中,快捷鍵 i )。

對於必讀信息源,比如 aboveavalon 的文章我每篇必讀,通過在 RSS 服務中添加規則來實現自動添加到 Playlist 和發送通知的功能,我使用的是 Inoreader,下面以 Inoreader 為例

1. 在Inoreader 中創建一個文件夾,我命名為 Notification,把所有必讀的訂閱源放入到這個文件夾中

2. 添加如下規則:

  • 把「Notification」中有文章更新作為觸發器;
  • 執行:發送至 Instapaper,實現自動添加到 reading list;
  • 執行:發送郵件至個人郵箱,實現即時通知功能;
  • 還可以在此基礎上添加關鍵詞過濾,過濾掉自己不想要的內容。

至此,實現了對必讀自動化添加到 reading list 並通知的功能。

這裡吐槽下 Inoreader,之前免費用戶是可以添加一條規則的,後來修改成了必須是入門級付費用戶才可以添加一條規則,不得不訂閱了 Inoreader。

微信公眾號

對於微信公眾號,轉成 RSS 閱即可。只不過提供這種服務的網站命運有點像科學上網,一出名就死,之前的微廣場和狗耳朵都已經掛掉了,目前我在用的是今天看啥(這是我的邀請鏈接,你和我各獲得所付費金額的10% 作為獎勵),還算穩定快速。

付費內容

2016 年算是知識付費的元年,各種付費內容興起,對於類似於「得到」一樣把內容限死在 App 里閱讀的內容並沒有什麼好辦法,但是對於郵件發送的會員通訊,只要設定自動轉發到 Instapaper 郵箱,即可同時實現自動化添加至 reading list並通知的功能。

博客爬蟲下載

博客比起 10 年前已經沒落了很多,但是仍有一些非常值得閱讀的博客,比如我很喜歡的物理研究者萬維鋼的博客學而時嘻之(後來意外發現萬維鋼也是中科大校友,順便說下他後來到「得到」開的專欄水平並不如之前博客高,與其花錢讀專欄,不如把之前的博客讀一遍),再比如和菜頭的槽邊往事。前者有 100 多篇文章,後者有 5000 多篇文章,一篇一篇手動保存到 Instapaper 顯然是不現實的,於是我通過 Python 爬蟲來實現。可以把所有文章都保存到 Instapaper 里的一個文件夾,也可以把所有文章做成一本電子書,我在這裡更推薦電子書,因為電子書閱讀起來相對方便一些,也更清楚的知道閱讀進度。

每個博客的架構不一樣,Python 程序需要根據特定博客進行針對性調整,我以槽邊往事為例,大概講下博客爬蟲大體思路

  1. 獲取所有文章鏈接:槽邊往事的每篇文章鏈接最後都是一個數字,通過遍歷從第一篇到最後一篇,驗證哪些數字對應的是真正的文章,並把所有有效鏈接保存到一個文檔里
  2. 如果是希望添加到 Instapaper,把所有鏈接通過 Instapaper API 導入即可
  3. 如果是想要製作電子書,把所有鏈接做成一個 HTML 的 index 文件,然後需要用到 Calibre 這個電子書管理軟體的 recipe 來自動抓取

過程中需要用 BeautifulSoup 或者 pyquery 庫做 HTML 分析,也需要對 HTML 語言有略微的了解,具體技術細節可以參考如下兩篇文章,如果有人真的很感興趣我回頭也可以專門寫文章說明

  • Calibre 使用教程之批量獲取電子書元數據 – 書伴(原名「Kindle伴侶」)
  • 我如何對待一個讓我著迷的博客

電子書製作好之後就可以愉快地閱讀了,這裡我選擇的 Epub 閱讀器是 Marvin,原因在於幾乎所有影響閱讀的細節都可以在設置中調整,可以完全定製化成自己喜歡的樣子,我喜歡模仿 Reeder 的樣子把背景和字體的對比度降低,這樣長時間閱讀不會覺得刺眼和疲勞。而且閱讀界面可以顯示當前位置在一篇文章中的進度,也同時顯示在整本書中的進度,非常方便消化上千篇文章。把整個博客數千篇文章保存成幾本電子書的過程非常有滿足感,有種整個博客盡在掌握的感覺。

音頻自動化

播客

播客就如在開頭舉的例子一樣,用 Castro 完成整個流程。通過針對不同播客的不同優先順序的設定,讓喜歡的播客節目在 Queue 中靜靜的躺著。

訪談節目視頻

除了播客之外,可以用聽覺帶寬來處理掉的還有訪談節目的視頻。很多訪談節目動輒幾個小時,實在沒有時間花幾個小時坐在電腦前看完一場訪談。這裡就要用到 Nplayer 這款支持在息屏狀態下後台播放視頻的 App 了。

有如下幾種處理方式

  1. 如果你是 YouTube Red 會員,直接通過 YouTube 客戶端下載視頻再背景播放就可以了
  2. 如果不是,把視頻下載下來導入 Nplayer 背景播放即可。這裡推薦 Nplayer 是因為它可以倍速播放和背景播放,也因為它本來就是一款很優秀的視頻播放器,詳見 JailbreakHum 的 Best of 系列。
  3. 還可以通過 Nplayer 來下載 YouTube 的視頻,離線保存到手機中,再背景播放即可,具體方法是在 Nplayer 的瀏覽器中播放 YouTube 的視頻,然後到播放列表選最近播放,選中並長按出現下載按鈕下載
  4. 也可以通過 Simple YouTube MP3 Button 這款油猴腳本來把 YouTube 影片以 MP3 音頻文件格式下載到本地。

視頻自動化

我經常看的視頻網站是 Bilibili 和 YouTube,所以只要把 Bilibili 上自己喜歡的 Up 主以及 YouTube 上喜歡的頻道通過 RSS 訂閱即可實現自動添加到Instapaper和通知的功能,在 Instapaper 中我建了一個 Video 文件夾,用來作為視頻的 playlist。

訂閱 Bilibili 的方法參考 Minja 的 一鍵生成 Bilibili、知乎專欄以及更多網站源,RSS 還能這麼訂閱即可。訂閱 YouTube 頻道的方式也類似,需要把頻道 id 添加到https://www.youtube.com/feeds/videos.xml?channel_id= 後面即可。以 Marques Brownlee 的頻道為例,頻道主頁是https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ,那麼對應的 RSS 訂閱地址是https://www.youtube.com/feeds/videos.xml?channel_id=UCBJycsmduvYEL83R_U4JriQ

碎片化消化

現在 Instapaper 中有了一個保存著所有值得閱讀文章的 reading list,一個保存著所有值得看的視頻的 playlist,更新的優質內容也會被自動添加進去,這麼多內容怎麼消化掉呢?

我利用所有的碎片化時間和垃圾時間來閱讀 Instapaper 里保存的文章,比如在通勤途中,在排隊時,在任何需要等待的那幾分鐘里,都可以拿出來讀完一篇 Instapaper 中的文章,再也不會覺得等待是一種浪費時間或者煩惱,每天都能利用碎片時間讀完 5-10 篇文章。

利用可以一心二用的時間來聽播客和訪談節目,比如做家務時,洗澡時,做飯時,也習慣了1.5倍速播放,一年下來聽完了好幾百個小時的播客節目。視頻就和很多人一樣,配飯食用。

這麼做的好處在於幾乎沒花什麼額外時間來消費內容,而且極大緩解了過多內容帶來的焦慮感:我知道所有值得消費的內容都被保存在 Instapaper 的列表中,看完一篇 Archive 一篇,非常安心,有碎片化時間或者一心二用時間了就打開 Instapaper 進行閱讀/看視頻,再也不用對著 Safari 幾十個打開的 Tab 感到焦慮,也極大的利用了垃圾時間和碎片化時間。

以上就是我的整個信息輸入系統,playlist 的存在讓人安心緩解焦慮,自動化添加到 playlist 節約了時間和注意力,即時通知可以讓我第一時間閱讀和收看最喜歡的內容。

少數派一年一度的獎品超級豐厚的 徵文活動 又開始了!我們準備了 ¥5 萬+ 的獎品等你來拿。

本文是「我是少數派,這是我的 2017」徵文活動的第 12 篇入圍作品。

推薦閱讀:

深扒《老友記》——史上最全老友記學習筆記S03E21
別說「不可能」,這些牛人說過的「不可能」都錯了。時代周刊的盤點
深扒《老友記》——史上最全老友記學習筆記S03E16
如何拯救強迫性分心?
焦慮是學習的最大障礙

TAG:信息获取 | 高效学习 |