⭐ 支持最新 HTML 结构:持续更新以适应知乎平台的变化。
⭐ 断点续传功能:支持大体量专栏文章下载的断点续传,提高使用便利性。
⭐ 完善的数学公式支持:特别优化了数学公式的提取和转换,保证了复杂内容的准确性和完整性。
⭐ 图片下载与处理:处理并优化文章中的图片链接,确保转换后的 Markdown 文件包含原文的所有视觉元素。
flask 2.3.3
flask-cors 4.0.0
python 3.9
运行代码
python app.py
Note
为应对知乎最新的验证机制,添加 Cookies 属性,点击 查看如何获取知乎 Cookie。
Note
flask 2.2 以下版本需要将 app.py 中第 46 行,
return send_file(zip_data, download_name = markdown_title + ".zip", as_attachment=True)改为:
return send_file(zip_data, attachment_filename = markdown_title + ".zip", as_attachment=True)
Note
Internet Download Manager (IDM) 会自动拦截下载链接并进行处理,导致两次请求。
也不是什么大问题,有强迫症的朋友可以将网站加入 IDM 的 '下列地址不要自动开始下载'。
- 打开 IDM 界面,菜单栏 '下载' -> '选项' -> '文件类型';
- 找到 '下列地址不要自动开始下载:' 文字下方的 '编辑列表...' 按钮;
- 对于本地部署,直接将 'http://127.0.0.1:5000/' 加入。线上部署,将对应网址加入。
Note
因为我们遇到过文件名太长,导致图片不能显示的情况,所以我们刻意限制了文件名的长度,但多数情况下是可以使用全名的,如果需要使用全名,请将 main.py 中的第 87 行注释掉,
markdown_title = get_valid_filename(title[-20:-1])将第 89 行的注释打开:
markdown_title = get_valid_filename(title)
- 2023-05-29:适应知乎最新 HTML 结构。
- 2023-06-12:修复数学公式 Markdown 转换 bug。
- 2023-06-22:为数学公式添加转义符号,增强兼容性。
- 2023-08-19:修复公式和卡片链接相关的多项 bug。
- 2023-10-27:优化代码,增加断点续传功能,改进图片处理和链接优化。(感谢 Aswatthafei 的提醒!)
- 2023-11-16:优化链接等格式。
- 2023-11-22:更改内容标题格式。
- 2023-12-27:更改内容标题格式;增加对数学公式中
\tag{*}
的特殊处理。(感谢 korruz 的意见!) - 2024-03-14:增加动图支持;更改链接格式。
- 2024-04-22:增加 Cookies 以应对验证机制。
- 2024-04-29:增加对视频的处理。