簡(jiǎn)書備份(導(dǎo)出)所有文章和圖片的方法

1.場(chǎng)景:

我在簡(jiǎn)書寫了很多文章,考慮到文章的安全性,我希望定期備份下載我的文章,那么該怎么做呢?

2.整體思路

2.1.問題分解及實(shí)現(xiàn)思路

  1. 下載所有文章: 采用官方提供
  2. 下載所有圖片:寫個(gè)python腳本

3.操作步驟

3.1.設(shè)備環(huán)境

  • 我的簡(jiǎn)書文章使用的 markdown 格式
  • 電腦安裝 Python 環(huán)境

3.2.第一步:下載所有文章

登錄到簡(jiǎn)書 -> 點(diǎn)擊個(gè)人頭像 -> 選擇設(shè)置 -> 賬號(hào)管理 -> 點(diǎn)擊 下載所有文章

按下圖操作


image.png

下載后的樣子


image.png

3.3.第二步:寫個(gè)python腳本

分解一些操作:

  • 遍歷文件夾和文件
  • 打開文件,逐行讀取
  • 識(shí)別檢索圖片的描述符號(hào),獲得圖片url,下載。

python 遍歷文件夾

  for root, dirs, files in os.walk(dir_name):

python 遍歷文件夾

  for root, dirs, files in os.walk(dir_name):

python 逐行讀文件

f = open(a_markdown_file)
line = f.readline()
i = 0
while 1:
    line = f.readline()
    if not line:
        break
    i = i + 1
    ln = line[:-1]
    # print("[{}] [{}]".format(i, ln))
    process_line(ln, output_dir)
f.close()

markdowni的圖片描述是下面這樣樣子,我們需要個(gè)正則表達(dá)式。

![image.png](https://upload-images.jianshu.io/upload_images/2044033-48c2eae384fc250c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

使用這個(gè)正則:

    img_list = re.findall(r"\!\[[^\]]*\]\((.+?)\)", line, re.S)

4.完整的 python 腳本:

我托管到GIthub,點(diǎn)擊:完整代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容