How to export Medium to Substack
解决从Medium导入Substack
思路
Substack的导入实际是基于Rss feed格式的fetch,而Medium官方的Rss Feed只提供最新的10篇文章,这就导致了一个问题,当你的Medium Stroies超过10篇时,无法将全部stories一键导入substack
继续使用官方导入链接是个无解的问题,要不然就只能复制黏贴,但是几十篇文章……
接着,我发现了一个可以绕过这个问题的办法。关键点还是在于Rss feed。既然Substack是通过Rss feed来fetch文章内容实现导入的,那我们可以自己host一个Rss feed
我们从Medium下载我们的全部数据(包含了我们所有的posts),然后将这些个Html文件转化为Rss feed格式的xml文件,自己再host一下,substack通过我们的self-host的link导入,就这样成功了
具体方法
从Medium 下载全部数据
访问Medium主页,在设置中,通过Download your infomation下载所有历史数据,Medium随后会发一封邮件到账号邮箱,邮件中附带历史数据压缩包的下载链接
解析
解压zip后,得到如下目录结构
.
├── blocks
├── bookmarks
├── claps
├── highlights
├── interests
├── ips.html
├── lists
├── posts
├── profile
├── pubs-following
├── README.html
├── sessions
├── topics-following
├── twitter
└── users-following所有的 stories在posts目录中,都是html格式
转化python脚本在这 → Github
修改html_to_rss.py的html_dir为medium解压后的posts文件夹dir
其中rss.xml是示例格式,通过访问Medium的官方Rss feed得到,未来可能更新,仓库中有说明
if __name__ == ‘__main__’:
html_dir = ‘your-medium-html-file-dir’
rss_template_file = ‘rss.xml’
output_file = ‘final-output.xml’运行后即可得到 Rss feed格式的文章
host
最后,我们还需要把这个xml host到网上,我这里用的cloudflare 自带的R2 storga桶
获得一个link,https://xxx.com/final-output.xml
在Substack的Import页面中,直接通过这个link 即可导入文章





