自動化釋出文章到知乎的探索

趙青青發表於2021-09-24

我的想法

我寫文章的習慣是在Typora中編輯好md檔案,然後釋出到部落格中,平臺包括部落格園和知乎。

釋出到部落格園時,部落格園提供metaweblog來實現自動化新增和修改部落格內容,連網頁都不需要開啟,文章就可以

釋出和修改成功了。這對於後續我維護文章很有幫助,比如一段時間後我發現某篇文章的知識點需要更新,或某個

功能有新的方法可以實現,那麼我只需要編輯本地文章md檔案然後再執行python指令碼就自動同步更新部落格園中的

文章了。

但是知乎上面修改文章,每次我要這樣做:

  1. 開啟網頁 — 找到我要修改的文章 — 點編輯
  2. 選擇 文件匯入 或者修改原文章

而且知乎沒有提供一個方便搜尋自己文章的功能,可以看這篇《如何搜尋知乎站內文章?》,每當我想修改文章和

釋出新文章時,做這些重複操作效率不高。

當然網上也有一鍵全平臺釋出的工具,可是這些工具我試用後有這幾個問題:

  1. 免費使用者每月有釋出數量限制
  2. 需要我提供知乎的帳號和密碼,我不確定安全性
  3. 在文章的結尾會帶上工具的小尾巴,比如文章通過XXX釋出

於是我決定自己實現一個這樣的工具,用於自動化釋出文章到知乎。

解決思路

我在瀏覽器使用開發者工具,F12抓取知乎提交,分析他的過程如下:

上傳md,轉換成html,把html進行上傳

md中的圖片會重新上傳到知乎並替換掉文章中圖片url

在F12的抓包裡面,這個過程有很多步驟,時間有限未深入去研究

我的嘗試和測試

基於上面的思路,我自己寫了一版python程式碼,實現的功能如下:

先發布到草稿箱,如果條件滿足,則會發布成為正式文章

釋出到草稿箱,同一個標題多次釋出會存在多篇,每篇的art_id不一樣

意外驚喜,從草稿釋出為正式文章時,還是會在草稿箱,但是沒有標題,所幸的是圖片已經上傳好了。

我的方案

在我思考要不要繼續寫完python指令碼時,遇到了 VSCode-Zhihu ,體驗一段時間後給我的感覺是用著還可以,雖然截止2021年6月3日作者的更新停留在2020-9-24,不過外掛在github上有原始碼,我拉取下來按照自己的需求進行了修改,目前用著也還順手。

優點:

  1. 支援在md中插入剪粘板的圖片 Ctrl+Alt+P
  2. 在vscode中就可以新增和更新已有文章,這點符合我的使用習慣,因為知乎不提供搜尋自己文章的功能

缺點:

  1. 釋出時不能選擇話題
  2. 不支援命令列呼叫(也許vscode可以?需要去查閱下微軟的文件)

vscode-zhihu外掛修改記錄:《知乎vscode外掛修改和重新編譯

github已有輪子

FreeOpenWrite 中的這個檔案:zhihu_publish.py,但是每次需要手動輸入驗證碼

github搜尋關鍵字:zhuanlan.zhihu.com/api

TODO 未驗證

可參考的庫:《 zhihu-py3》中有講到專欄《Post 專欄文章類

作者的新庫主要解決授權問題《zhihu-oauth

相關文章