Skip to content

caol64/omni-article-markdown

Repository files navigation

墨探 (omni-article-markdown)

PyPI Python License PyPI Downloads Docker Pulls Stars

轻松将网页文章(博客、新闻、文档等)转换为 Markdown 格式。

简介

墨探的开发初衷,是为了解决一个问题:如何将来自互联网上各种不同网站的文章内容,精准且高效地转换成统一的Markdown格式。

众所周知,万维网上的网站设计风格迥异,其HTML结构也呈现出千差万别的特点。这种多样性给自动化内容提取和格式转换带来了巨大的困难。要实现一个能够适应各种复杂HTML结构的通用解决方案,并非易事。

我的想法是:从特定的网站开始适配,以点到面,逐步抽取出通用的解决方案,最后尽可能多的覆盖更多网站。

功能介绍

以下是一些网站示例,大家可以自己测试下效果。

无需安装插件

站点 链接 备注
Medium link
csdn link
掘金 link
公众号 link
网易 link
简书 link
Towards Data Science link
Quantamagazine link
Cloudflare博客 link
阿里云开发者社区 link
微软技术文档 link
InfoQ link
博客园 link
思否 link
开源中国 link
Forbes link
少数派 link
语雀 link
腾讯云开发者社区 link
人人都是产品经理 link
Jetbrains博客 link
Claude文档 link
Anthropic link
Meta博客 link
Android Developers Blog link
Spring Blog link
Hackernoon link
领英博客 link
华尔街见闻 link

需安装 browser 插件

站点 链接 备注
苹果开发者文档 link 需安装browser插件
百家号 link 需安装browser插件
Snowflake 技术博客 link 需安装browser插件

需安装专有插件

站点 链接 备注
知乎专栏 link 需安装zhihu插件
今日头条 link 需安装toutiao插件
Freedium link 需安装freedium插件

安装方式

方式一:pip(推荐)

pip install omni-article-markdown

安装完成后即可使用:

mdcli --help

方式二:Docker(无需 Python 环境)

如果你不想在本地安装 Python,也可以直接使用 Docker。

拉取镜像

docker pull caol64/omnimd

查看帮助

docker run --rm caol64/omnimd --help

Markdown转换示例

docker run --rm \
  -v ~/.ommimd:/root/.ommimd \
  caol64/omnimd \
  https://zhuanlan.zhihu.com/p/1915735485801828475

说明:

  • 使用 -v 挂载本地目录以保存网站cookie
  • 容器启动即执行 mdcli 命令

基本用法

仅转换

mdcli https://example.com

保存到当前目录

mdcli https://example.com -s

保存到指定路径

mdcli https://example.com -s /home/user/

插件机制

「墨探」是如何使用插件机制构建可扩展架构的

安装插件

Note

docker 镜像已安装所有插件。

安装插件和pip命令格式相同:

mdcli install <PLUGIN_NAME_OR_PACKAGE_NAME> [-U] [-e]

示例:安装知乎解析插件

mdcli install zhihu

或者,你可以使用 -e 参数安装本地可编辑的包。

mdcli install -e "./plugins/omnimd-zhihu-reader"

升级插件

mdcli install zhihu -U

卸载插件

如果你想移除一个已安装的插件,可以使用 mdcli 提供的 uninstall 命令。

mdcli uninstall zhihu

或者,使用插件的全称删除

mdcli uninstall omnimd-zhihu-reader

已支持的插件

目前已发布4个插件,你可以按需安装:

命令 说明
mdcli install zhihu 知乎专栏
mdcli install toutiao 今日头条
mdcli install freedium Freedium
mdcli install browser 需要启用浏览器的JS功能才能访问的页面(如Apple Developer Documentation)

开发自己的插件

文档编写中。

架构说明

墨探主要分为三个模块:

  • Reader 模块的功能是读取整个网页内容
  • Extractor 模块的功能是提取正文内容,清理无用数据
  • Parser 模块的功能是将 HTML 转换为 Markdown

贡献与反馈

  • 发现解析问题?欢迎提交 Issue
  • 改进解析?欢迎贡献 Pull Request
  • 开发插件?文档正在筹备中

赞助

如果你觉得墨探对你有帮助,可以给我家猫咪买点罐头 ❤️

https://yuzhi.tech/sponsor

License

MIT License

About

墨探 - 轻松将网页文章(博客、新闻、文档等)转换为 Markdown 格式

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors