跳到主内容

网页正文提取器 - 免费一键取出网页正文,转成 Markdown(爬虫工具)

免费下载网页正文提取器 v1.0.0
平台:Windows / macOS / Linux(浏览器打开即用)大小:11 KB版本:v1.0.0更新:
提取码:ctdg(如提示需要,请输入)
下载地址 ▾
解压后双击即可运行,无需安装任何运行环境,不联网、不上传数据。
网页正文混在导航广告评论里,想存下来只能一段段复制粘贴

网页正文提取器 运行界面

软件名称网页正文提取器
版本v1.0.0
授权免费(可自由使用与转发)
运行方式本地运行,不上传数据
所属分类爬虫工具

这个工具解决什么问题

看到一篇好文章想存进笔记,最笨的办法是选中正文复制,但网页上到处都是干扰:顶部导航、右侧推荐、文末相关阅读、评论区,鼠标一拖往往把「相关阅读」也带进去,粘到笔记里还得手工删。更麻烦的是文章里有表格和列表,复制过去格式全丢,变成一坨没换行的文字,重新排版又要十分钟。想用「另存为」吧,存下来的是一整页 HTML,导航广告一个不少。想写脚本抓正文,又得先搞懂 Readability 那一套算法。

  • 原来的做法:在网页上拖选正文复制到笔记,手工删掉夹带的导航和推荐链接;遇到表格列表就一条条重排,一篇文章整理下来十几分钟。
  • 用这个工具:把网页源码粘进左边,右边立刻出现干净的 Markdown 正文——导航、侧栏、评论、页脚都被剔掉,标题/列表/引用/表格/链接/图片自动转成 Markdown 语法,一键复制或导出 .md。
  • 省下来的:原来存一篇文章要十几分钟手工整理,现在粘贴即出结果,几秒钟拿到可以直接用的 Markdown;表格和列表的格式也不再丢。

技术实现

一个 HTML 文件,内联 CSS 与 JavaScript,双击用浏览器打开就能用。选单文件网页是因为这类工具的本质是「一次性动作」:偶尔存一篇文章,不该为它装一个软件。而正文提取和 HTML 转 Markdown 恰好都是浏览器最擅长的事——DOMParser 负责按标准解析 HTML,递归遍历负责把 DOM 树翻译成 Markdown,全程在本地完成,页面里没有任何网络请求代码。

  • 三级策略定位正文,而不是简单取 body:第一级信语义标签:页面里有 article 或 main 标签就直接用它——这两个标签在规范里就是为正文准备的,命中率极高。第二级才用打分:对每个 div/section/td 算「文本长度 − 1.5×链接文本长度 + 35×段落数 + 3×标点数」,链接占比超过一半的直接淘汰(那是导航或列表页)。第三级是向下精炼:父容器常常因为「字数更多」而胜出(正文 + 一点残留),所以逐层往下找更紧的容器,只要子容器分数不低于父的 90% 就继续下沉。
  • 先删噪声再打分,两套规则配合:噪声分两类处理。按标签删:script/style/noscript/iframe/svg/canvas/form/nav/header/footer/aside/button 这些整体移除。按 class/id 关键词删:nav、sidebar、footer、comment、related、recommend、advert、breadcrumb、share、pagination,以及中文的「推荐/广告/评论/导航/侧栏/页脚/相关阅读」。第二类加了一道保险——只有当该容器里几乎没有 p 或 article 子节点时才删,避免误删那些恰好叫 header 的正文标题块。
  • DOM 树递归翻译成 Markdown:写两套遍历:blockMd 处理块级元素(标题、段落、列表、引用、代码块、表格、分隔线),inlineMd 处理行内元素(加粗、斜体、行内代码、删除线、链接、图片)。列表单独处理——li 里的嵌套子列表要先把 ul/ol 摘出来递归渲染,否则子列表会被压进父项那一行。表格按第一行生成表头分隔行,列数不足的行补空单元格,单元格里的竖线转义成 \|。
  • 转义只做必要的,正文不会满屏反斜杠:很多转换器为了「安全」把所有 Markdown 特殊字符都加反斜杠,结果正文里全是 \* 和 \_,根本没法读。这里只转义三个字符:反斜杠、星号、下划线、反引号——它们不加转义会真的改变渲染结果。方括号只在链接/图片的 alt 文本里处理,正文里的 [1] 这类引用标记保持原样。
  • 相对链接补全用 URL 构造函数:文章里的链接常常是 /tools/ 这样的相对路径,直接抄进 Markdown 就失效了。工具提供一个「基准地址」输入框,填上原网页地址后,所有 a[href] 和 img[src] 都交给 new URL(raw, base) 解析成绝对地址。javascript:、mailto:、tel:、# 开头的链接判为非网址,保留文字但不生成链接。
  • 零网络请求,且把「提取到哪儿」告诉用户:页面没有 fetch / XMLHttpRequest / 外部 CDN,断网可用。更重要的是:工具会把定位结果写在界面上——「已定位到正文容器:article.post-content(整页文本 275 字,正文 275 字)」。正文提取是启发式的,不可能 100% 准,与其让用户猜「为什么结果不对」,不如直接告诉他这次抓到了哪个容器,出问题时能立刻判断是页面结构特殊还是规则没命中。

技术栈:单 HTML 文件、原生 JavaScript、DOMParser + 递归 DOM 遍历、零依赖 / 零安装

已知局限:只解析你粘贴的源码,不主动访问网页(浏览器同源策略下也做不到);抓不到 JavaScript 动态渲染的内容,需要你复制渲染后的 DOM;正文定位是启发式的,对结构极特殊的页面(如全 div 无段落、正文与评论同容器)可能不准;不处理 CSS 隐藏的内容(display:none 的节点仍会被提取);不保留原页面的复杂嵌套排版(如多列布局)。

操作教程

  1. 打开工具
    双击 tool.html(或拖进浏览器窗口)。页面打开时已经填好一段示例源码,右侧直接显示提取结果,方便先看清长什么样。
    预期结果:页面显示左右两栏:左侧是源码输入框、基准地址与提取选项;右侧是统计条、Markdown/纯文本切换与结果区。
  2. 复制网页源码
    在浏览器里打开目标网页,右键 → 查看源代码(或按 Ctrl+U),全选复制,粘进左侧输入框。也可以点「导入 .html 文件」直接读取本地保存的网页文件。
    预期结果:粘贴后右侧立刻出现提取结果,统计条显示正文字数、段落、标题、链接、图片与阅读时长。
  3. 填基准地址(可选)
    如果正文里有 /post/1.html 这样的相对链接,把原网页的完整地址填进「基准地址」,链接和图片地址会被补全成可直接打开的绝对地址。
    预期结果:结果里的相对链接变成 https://… 开头的完整地址。
  4. 调整提取选项
    按需要勾掉「保留超链接」「保留图片」「保留引用块」「保留表格」。比如只想拿纯文字,就把前两项取消。
    预期结果:任意选项变化,右侧结果与统计立即重算。
  5. 检查定位结果
    看结果区下方的提示:「已定位到正文容器:xxx(整页文本 N 字,正文 M 字)」。如果正文占整页的比例很低,说明可能没找准,可以试试换一段源码。
    预期结果:多数常见文章页会定位到 article 或 main 容器。
  6. 复制或导出
    点「复制结果」把当前视图(Markdown 或纯文本)写进剪贴板;点「导出 .md 文件」直接下载一个 article.md,可以丢进 Obsidian、Typora 等笔记工具。
    预期结果:复制后粘贴出来是带标题层级的 Markdown;导出文件用编辑器打开格式完整。

全程在浏览器本地完成,不需要联网、不需要安装任何软件;工具只解析你粘贴的内容,不会主动访问任何网站。

常见问题

Q:为什么要把源码复制进来,不能直接输网址?A:因为浏览器不允许网页脚本跨站读取别人的页面内容(同源策略),任何「输入网址就抓」的纯前端工具都做不到,除非中间架一个服务器。本工具选择零服务器的方案:你负责复制,它负责解析,全程本地,也不会有隐私顾虑。
Q:提取结果里混进了评论或相关推荐怎么办?A:先看结果区下方的定位提示,确认这次抓的是哪个容器。如果是评论被带进来了,说明评论区和正文在同一个父容器里,而且评论的分数更高。这时可以试着在源码里只保留正文那一块(从 article 开始标签到对应结束标签)再粘贴;也可以直接用「查找替换」把评论区删掉再提取。
Q:和站内的「AI 文本批量去格式」有什么区别?A:方向正好相反。那个工具是「去掉」Markdown 符号——把 AI 生成的 ## 、** 清成干净纯文本;本工具是「生成」Markdown——把网页 HTML 转成带标题层级的 Markdown。一个是从 Markdown 到纯文本,一个是从 HTML 到 Markdown,解决的问题不重叠。
Q:和站内的「链接提取与 URL 批量清洗」「公开网页表格导出」有什么区别?A:那三个工具都在解析同一份 HTML,但取的东西完全不同:链接清洗工具只取 a[href] 和 img[src] 并做地址规范化;表格导出工具只取 table 元素并导出成 Excel;本工具取的是「正文文本」,并把整篇文章的结构(标题层级、段落、列表、引用)翻译成 Markdown。想整理地址用前者,想存数据表用中者,想存文章用本工具。
Q:抓不到正文里的图片是什么原因?A:两种情况。一是图片确实在正文里但用了懒加载(src 是占位图,真实地址写在 data-src 里),本工具读的是 src,会拿到占位图或空值;二是你把「保留图片」取消勾选了。可以检查一下选项,或者用开发者工具看看图片的真实属性名。
Q:表格转出来的格式不对?A:本工具按标准 Markdown 表格输出(第一行当表头)。如果原表格用了合并单元格(rowspan/colspan),Markdown 表格语法本身不支持,会退化成错位的多列。这种情况建议把「保留表格」取消,让它以普通文本段落输出,再手工整理。
Q:正文里出现很多 \* 和 \_ 是怎么回事?A:本工具只转义反斜杠、星号、下划线、反引号这四个会真正影响 Markdown 渲染的字符。如果你看到大量转义,说明原文里确实有这些符号(比如代码片段或数学表达式)。纯文本视图不会做转义,可以切过去看。
Q:能一次处理多个网页吗?A:当前版本是单页处理。如果你需要批量(比如迁移整个站点的几十篇文章),可以通过定制开发加上批量读取与导出能力。
Q:为什么统计的「正文字数」和我数的对不上?A:字数统计会去掉所有空白字符(空格、换行、制表符),只算可见字符,标点也算在内。所以和 Word 的「字符数」接近,和「字数」会有出入。这个数字的用途是判断提取量是否合理,不需要精确。
Q:这样做符合网站的使用规范吗?A:本工具只做本地解析,不访问任何网站。请在你自己的使用流程中遵守目标网站的 robots.txt 与相关法律法规,尊重著作权——个人学习与笔记归档没问题,把别人的文章大量复制后重新发布则是另一回事。

技术实现与后续维护

本工具由我们自行开发并持续维护,每次迭代都经过本地自测。代码分成三层:正文定位(stripNoise / hitHint / textLen / linkTextLen / scoreOf / extractArticle)、Markdown 转换(inlineMd / blockMd / listMd / tableMd / toPlain)、界面(run / render)。想调提取准度只动第一层,想改输出格式只动第二层。

技术构成:

  • src/tool.html —— 唯一源码文件:内联样式、正文定位算法、DOM→Markdown 转换器、界面与导出
  • DOCS/开发文档.md —— 工程结构、三级定位策略与 Markdown 转换规则说明、实测数据

运行环境:

单 HTML 文件工具,无需编译。用任意现代浏览器(Chrome / Edge / Firefox / Safari)直接打开 src\tool.html 即可运行。

可扩展方向:

  • 把 DROP_HINT 关键词表提取成界面可编辑的配置,方便适配特定站点
  • 在 scoreOf() 里加入「标签多样性」因子,进一步降低列表页被误判的概率
  • 增加 front-matter 导出模板(标题、来源 URL、抓取时间)
  • 增加批量模式:读取本地多个 .html 文件依次转换并打包下载

本工具免费提供使用,但不对外分发源码。如果你需要在本工具基础上做功能调整、对接内部系统或长期维护,可以联系我们做二次开发,源码与工程文档可在定制合作中一并交付。

需要其它功能?可以定制

这个工具只做一件事:网页正文混在导航广告评论里,想存下来只能一段段复制粘贴。如果你的场景还需要别的处理,可以联系我们做二次开发,按你的实际数据格式和流程定制。

常见的定制需求:

  • 增加「批量读取本地 HTML 文件夹」,一次把几十个保存的网页转成 Markdown
  • 增加「直接粘贴渲染后 DOM」的快捷入口,省去查看源代码这一步
  • 增加「自定义噪声规则」,让用户自己维护要剔除的 class/id 关键词表
  • 增加「导出为带 front-matter 的 Markdown」,直接适配静态博客
  • 联系方式:邮箱/微信见站内「联系我们」页面,或在本文下方留言
  • 定制说明:请附上你的数据样例(脱敏即可)和期望结果,方便快速评估工作量
  • 交付形式:定制项目可交付可执行程序,按需一并交付源码与工程文档,支持长期维护

使用说明与免责声明

本工具涉及数据采集,请在合法合规的前提下使用。
  • 本工具仅用于采集公开可见或你自身拥有权限的数据。
  • 请遵守目标网站的服务条款、robots 协议及《网络安全法》等相关法律法规。
  • 请合理控制请求频率,不要对目标站点造成访问压力。
  • 不得用于采集个人隐私、付费墙内容或任何受法律保护的非公开数据。
  • 因使用不当造成的后果由使用者自行承担;本工具不做数据二次分发。
免费下载网页正文提取器 v1.0.0
平台:Windows / macOS / Linux(浏览器打开即用)大小:11 KB版本:v1.0.0更新:
提取码:ctdg(如提示需要,请输入)
下载地址 ▾
解压后双击即可运行,无需安装任何运行环境,不联网、不上传数据。
分享到:

本文链接:https://www.biyeyuanma.cn/post/283.html

服务热线

加我微信

加我微信