導出 Qi Reader 的 Read latter

上一次寫這個我記得還是給 https://rss.anyant.com/ 寫的,源碼在 https://github.com/bGZo/playground/tree/2022/01/rssant-backup

已經做的比較完善了,當然這種事情不太好,就沒有引流,自然也沒有多少人用,當時第一次抓包,寫的還比較費勁哈哈哈。

官方當然有計劃,但是已經快 2 年了,猜測是有什麼顧慮,因爲我比較急,就不等了,Sorry~

via: https://github.com/oxyry/qireader/issues/116

抓包分析

GET https://www.qireader.com/api/streams/tag-xxx?articleOrder=0&count=25&id=tag-xxx&unreadOnly=false&olderThan=1764313764608411573

參數猜測分析:

我的稍後閱讀可能就是一個特別的標籤,查看列表本質就是查看我的標籤(查一個標籤表),然後關聯出文章;F12 看看自己的就能知道自己的 Read Latter ID 是多少。

至於文章內容,我發現 Qi Reader 默認情況下不會走網絡請求,什麼包都抓不到,說實話者挺奇怪的,可能最終的請求是在 Node 後端代理的吧,那數據是怎麼傳回前端的呢?爲什麼不會在控制檯顯示呢?

當然還有一個請求全文的接口,這個接口返回文章的內容,只不過都是 HTML 格式,如果要轉換 Markdown,還需要一番功夫。根據響應結構查了一下,用的應該是這個服務: https://github.com/ArchiveBox/readability-extractor

備忘

看了下 git 的時間線,上次做導出還是 8 月,已經過去了快 3 個月了,很多項目的規範都忘記了,代碼寫了又改,比一開始浪費時間。

還是沿用 黑曜石導入計劃 中的代碼結構,定義 QiReader Client 對整體請求進行包裝,然後跟其他的網站導出邏輯類似,過程比較順,沒遇到什麼卡殼。當然爲了偷懶,完全沒有做登錄劫持的那一步,太麻煩,直接用 Cookie 做的環境變量,用的時候直接 source 一遍環境變量就行,然後進行後續操作。

最終實現效果:

> pipx upgrade export_to_obsidian
> source .env
> eto qireader -t tag-xxx -o ./clippers/qireader/

export_to_obsidian 的版本(0.3.13) 發佈 🎉

Source via: https://note.bgzo.cc/weekly/20251206-export-qi-reader-read-latter

posted @ 2026-04-11 20:40  菜就多練練  阅读(13)  评论(0)    收藏  举报