Instapaper Scraper:把你的「稍後閱讀」變成知識庫的免費開源匯出工具

(本圖使用 GitHub Socialify 製作)
別讓知識在你的 Instapaper 閱讀清單裡沉睡!
每天我們都會收藏大量優質文章——技術教程、產業分析、深度報導。但隨著時間推移,這些文章就像被遺忘在數位倉庫裡的寶藏,想找回卻無從下手。
Instapaper Scraper 是一款我親手打造的免費 Python 開源工具,能將你的 Instapaper 書籤輕鬆匯出成 CSV、JSON 或 SQLite 格式。無需 API 金鑰、無需複雜設定,三分鐘內就能開始使用。
無論你是需要整理文獻的研究人員、熱愛數據分析的開發者,還是想備份閱讀紀錄的知識工作者,這個工具都能幫你重新掌握那些被遺忘的知識寶藏。
為什麼你需要 Instapaper Scraper?
痛點 1:文章太多,無從整理
Instapaper 內建的分類與搜索功能有限,當你有數百篇文章時,很難快速找到需要的內容。
解決方案: 匯出成 CSV 或 SQLite,用 Excel 或 SQL 查詢快速篩選、排序、標記。
痛點 2:無法與其他工具整合
想把閱讀清單匯入 Notion、Obsidian 或自建資料庫,卻沒有官方匯出功能?
解決方案: 支援多種格式,輕鬆與你的知識管理工具鏈整合。
痛點 3:需要 API 金鑰的門檻太高
許多類似工具要求申請 API、設定 OAuth,過程繁瑣。
解決方案: Instapaper Scraper 直接使用你的帳號登入,無需申請任何金鑰。
核心功能一覽
| 功能 | 說明 |
|---|---|
| 多格式匯出 | 支援 CSV、JSON、SQLite 三種格式,滿足不同需求 |
| 資料夾模式 | 可指定抓取特定資料夾,自動套用預設輸出設定 |
| 可點擊連結 | 匯出檔案包含 Instapaper 閱讀連結,直接點擊即可閱讀 |
| 文章預覽 | 抓取文章摘要文字,快速篩選值得閱讀的內容 |
| 設定檔支援 | 一次設定、永久生效,告別重複輸入指令 |
| 安全認證 | Session 加密儲存,權限保護,確保帳號安全 |
| 高效能 | 批次處理,輕鬆應對大量書籤 |
| 完全免費 | 開源授權(GPL v3),無需付費、無功能限制 |
快速開始:三分鐘上手
步驟 1:安裝
Instapaper Scraper 已上架 PyPI,使用 pip 即可安裝:
pip install instapaper-scraper
系統需求: Python 3.9 或更高版本
步驟 2:執行
最簡單的用法,直接執行指令:
instapaper-scraper
程式會提示你輸入 Instapaper 帳號和密碼,完成後自動將所有書籤匯出為 CSV 檔案。
步驟 3:選擇格式
根據你的需求,選擇不同的輸出格式:
# 匯出為 JSON
instapaper-scraper --format json
# 自訂輸出檔名(副檔名會自動修正)
instapaper-scraper --format json --output reading-list.json
# 匯出為 SQLite 資料庫
instapaper-scraper --format sqlite --output my-articles.db
進階功能:讓匯出更聰明
1. 加入文章預覽文字
使用 --article-preview 旗標,匯出時會包含每篇文章的摘要:
instapaper-scraper --article-preview --format csv --output reading-list.csv
適用情境: 在 Excel 或 Notion 中快速瀏覽文章內容,決定是否值得深入閱讀。
2. 加入可點擊連結
使用 --read-url 旗標,匯出檔案會包含 Instapaper 閱讀連結:
instapaper-scraper --read-url --format csv
適用情境: 匯入 Notion 或 Google 試算表後,直接點擊連結即可閱讀,省去複製貼上的麻煩。
3. 同時啟用多項功能
可以同時啟用多個旗標:
instapaper-scraper --article-preview --read-url --format csv --output complete-export.csv
4. 使用設定檔,一次設定永久生效
如果你討厭每次都打一堆指令,可以建立 config.toml 設定檔:
# config.toml
# 預設輸出檔名
output_filename = "home-articles.csv"
# 預設欄位設定
[fields]
read_url = false
article_preview = false
# 資料夾設定
[[folders]]
key = "ml"
id = "1234567"
slug = "machine-learning"
output_filename = "ml-articles.json"
[[folders]]
key = "python"
id = "7654321"
slug = "python-programming"
output_filename = "python-articles.db"
設定完成後,執行工具時會自動套用這些選項。
5. 資料夾模式:精準抓取特定分類
如果你習慣用資料夾分類文章,可以使用 --folder 參數:
# 使用資料夾的 key
instapaper-scraper --folder ml
# 或使用資料夾的 slug
instapaper-scraper --folder machine-learning
# 明確關閉資料夾模式,抓取全部文章
instapaper-scraper --folder=none
6. 彈性覆蓋設定
如果你在設定檔中設定了某些選項為 true,但某次執行時想要關閉,可以使用 --no- 前綴:
# 設定檔中 article_preview = true,但這次不想匯出預覽文字
instapaper-scraper --no-article-preview --format json
實際輸出範例
CSV 格式(含文章預覽與連結)
"id","instapaper_url","title","url","article_preview"
"999901234","https://www.instapaper.com/read/999901234","深入理解 Python 生成器","https://example.com/python-generators/","生成器是 Python 中強大的工具,能夠..."
"999002345","https://www.instapaper.com/read/999002345","機器學習入門指南","https://example.com/ml-intro/","這篇文章將帶你快速了解機器學習的..."
優點: 可用 Excel、Google 試算表開啟,方便排序、篩選、標記。
JSON 格式
[
{
"id": "999901234",
"title": "深入理解 Python 生成器",
"url": "https://example.com/python-generators/",
"instapaper_url": "https://www.instapaper.com/read/999901234",
"article_preview": "生成器是 Python 中強大的工具,能夠..."
},
{
"id": "999002345",
"title": "機器學習入門指南",
"url": "https://example.com/ml-intro/",
"instapaper_url": "https://www.instapaper.com/read/999002345",
"article_preview": "這篇文章將帶你快速了解機器學習的..."
}
]
優點: 適合開發者進行數據分析,或匯入支援 JSON 的應用程式。
SQLite 資料庫
-- 查詢所有文章數量
SELECT COUNT(*) FROM articles;
-- 依標題首字分組統計
SELECT substr(title, 1, 1), COUNT(*) FROM articles GROUP BY substr(title, 1, 1);
-- 搜尋包含特定關鍵字的文章
SELECT * FROM articles WHERE title LIKE '%Python%';
優點: 適合大量數據分析,可用 SQL 進行複雜查詢。
安全性與隱私
Instapaper Scraper 採用多層安全機制,確保你的帳號資訊不會外洩:
| 安全機制 | 說明 |
|---|---|
| Session 加密儲存 | 首次登入後,建立加密的 session 檔案(.instapaper_session)和金鑰檔案(.session_key),後續執行無需重複輸入密碼 |
| 權限保護 | Session 檔案僅限擁有者可讀寫(chmod 600),防止其他使用者存取 |
| 無需 API 金鑰 | 直接使用你的帳號登入,無需申請第三方 API,完全掌控自己的資料 |
| 開源透明 | 原始碼完全公開,任何人都可以審查程式碼,確保沒有惡意行為 |
誰適合使用這個工具?
資料控與開發者
想對自己的閱讀習慣進行數據分析,或將書籤匯入自建的資料庫。
推薦用法: 匯出為 JSON 或 SQLite,用 Python 或 SQL 進行分析。
Notion / Obsidian 使用者
需要將大量閱讀清單轉換成 CSV,以便批次匯入筆記軟體。
推薦用法: 匯出為 CSV,使用 --read-url 加入可點擊連結,匯入 Notion 資料庫。
研究人員與學生
需要整理大量文獻,並快速篩選出值得深入閱讀的內容。
推薦用法: 使用 --article-preview 抓取摘要,在 Excel 中快速瀏覽並標記優先順序。
資料夾分類愛好者
習慣用資料夾分類文章,希望針對不同分類使用不同輸出格式。
推薦用法: 在 config.toml 中設定多個資料夾,每個資料夾設定不同的輸出檔名和格式。
實際應用場景
場景 1:建立個人知識庫
- 使用
--article-preview --read-url匯出所有文章 - 匯入 Notion 資料庫
- 在 Notion 中建立標籤、分類、評分系統
- 定期更新,保持知識庫最新
場景 2:文獻管理與分析
- 在 Instapaper 中建立「研究論文」資料夾
- 使用
--folder research --format sqlite匯出 - 用 SQL 查詢分析研究趨勢、關鍵詞分佈
- 匯出為 CSV 匯入 Zotero 或 EndNote
場景 3:閱讀習慣追蹤
- 每月定期匯出書籤
- 用 Python 分析閱讀數量、主題分佈
- 建立視覺化報表,追蹤自己的學習軌跡
場景 4:團隊知識共享
- 建立團隊共用的 Instapaper 帳號
- 定期匯出書籤為 JSON
- 自動匯入團隊內部知識庫
- 成員可快速獲取最新產業動態
別讓你的知識資產在閱讀清單裡沉睡——Instapaper Scraper 完全免費、開源,歡迎立即嘗試!
完整指令參考
| 參數 | 說明 | 範例 |
|---|---|---|
--config-path <path> | 指定設定檔路徑 | --config-path ./my-config.toml |
--folder <value> | 指定資料夾(key/id/slug) | --folder ml 或 --folder=none |
--format <format> | 輸出格式(csv/json/sqlite) | --format json |
--output <filename> | 自訂輸出檔名 | --output my-articles.db |
--username <user> | Instapaper 帳號 | --username myemail@example.com |
--password <pass> | Instapaper 密碼 | --password mypassword |
--[no-]read-url | 加入 Instapaper 閱讀連結 | --read-url 或 --no-read-url |
--[no-]article-preview | 加入文章預覽文字 | --article-preview 或 --no-article-preview |
相關連結
- PyPI 頁面:https://pypi.org/project/instapaper-scraper/
- GitHub 專案:https://github.com/chriskyfung/InstapaperScraper
- 完整文件:GitHub README
需要協助或想提出回饋?
開源專案的成長,離不開使用者的回饋。無論你遇到什麼問題,或有什麼想法,都歡迎與我聯繫!
支援管道
- Bug 回報:GitHub Issues
- 功能建議與討論:GitHub Discussions
- 一般諮詢:在 GitHub Discussions 發問
支持專案發展
如果你覺得 Instapaper Scraper 對你有幫助,可以透過以下方式支持:
- 給個 Star:GitHub 專案頁面
- 每月贊助:GitHub Sponsors
- 請喝杯咖啡:Buy Me a Coffee
歡迎貢獻程式碼
如果你是想參與開發的程式設計師,請參考 貢獻指南。無論是修 Bug、加新功能,還是改善文件,都歡迎你加入!
常見問題
Q:需要 Instapaper 付費帳號嗎?
A: 不需要。Instapaper Scraper 支援免費和付費帳號,功能完全相同。
Q:匯出會包含文章的完整內容嗎?
A: 不會。Instapaper Scraper 僅匯出書籤 metadata(標題、網址、預覽文字等),不包含文章完整內容。如需完整文章,需點開連結閱讀。
Q:可以在 Windows/Mac/Linux 上使用嗎?
A: 可以。Instapaper Scraper 支援所有安裝 Python 3.9+ 的作業系統。
Q:我的帳號資訊安全嗎?
A: 非常安全。你的帳號資訊僅用於登入 Instapaper,Session 會加密儲存在本地,且僅限你的使用者帳號可讀取。
Q:為什麼匯出速度這麼慢?
A: 如果書籤數量很多(數百篇以上),可能需要數十秒鐘。程式會在抓取過程中顯示進度。建議使用資料夾模式分批匯出。






Facebook 留言
加載中...