简书文章打包下载(图片本地化)

背景:备份简书所有的文章
目前简书提供了文章打包下载功能。但文章中的图片是以链接的形式存在的,并未下载到本地。
因此用 python 写了一个脚本来下载文章中的图片(保存成 .py 文件,修改脚本的路径即可)

  • V1: 支持简书内部链接
from os import listdir, mkdir, path
from os.path import isfile, join, isdir
from pathlib import Path
import re
from urllib import request

dirRoot = "C:\\Users\\ATLgo\\Downloads\\user-726742-1555140684" # 此处改成文件解压后的路径
onlyDir = [d for d in listdir(dirRoot) if isdir(join(dirRoot, d))]
print(onlyDir)

for dir in onlyDir:
    dirName = dirRoot + "/" + dir
    onlyFiles = [f for f in listdir(dirName) if isfile(join(dirName, f))]
    print(onlyFiles)

    for file in onlyFiles:
        text = Path(dirName + "/" + file).read_text(encoding='utf-8')
        imgUrls = re.findall(r"(?:!\[(.*?)\]\((.*?)\))", text)
        for imgUrl in imgUrls:
            if imgUrl is not None:
                pngName = re.search(r"[\w-]*.png", imgUrl[1])
                if not path.exists(dirName + "/images"):
                    mkdir(dirName + "/images")
                request.urlretrieve(imgUrl[1], dirName + "/images/" + pngName.group())
            pass
        pass
        text = text.replace("http://upload-images.jianshu.io/upload_", "").replace("?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240", "") # 此处可能需要调整,懒得写正则匹配
        Path(dirName + "/" + file).write_text(text, encoding='utf-8')
    pass
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,071评论 1 3
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,934评论 0 10
  • 20世纪上半叶,智力测试处于一个持续发展的领域。 到20世纪后半叶基因的组成对智力的发展有显著影响的说法,在政治上...
    老蜗的壳阅读 153评论 0 0
  • NSDayCalendarUnitisdeprecated: first deprecatediniOS8.0- ...
    龍飝阅读 1,238评论 0 0
  • 和好 一天,天气晴朗,太阳公公也出来了。 小猪,小猴和小马三位好朋友趁着好天气来到了森林里玩。小猪说:“我们来比赛...
    18b4cb95cba4阅读 1,415评论 0 0