网站归档开源利器:用 sitefetch 实现全站递归爬取并保存为一个 Markdown 格式文本文件

一、简介

  • 一键递归爬取整个网站并将其保存为一个Markdown格式文本文件
  • 支持路径匹配、内容筛选,并且默认支持多线程并发抓取内容
  • 开源地址参考:https://github.com/egoist/sitefetch
  • 以下是大致的系统结构与工作原理图:

二、安装

  • 提前安装好node 18+、npm、npx等软件环境(这里不做赘述)
  • 使用npm全局安装
    npm i -g sitefetch
  • 使用npx直接运行
    npx sitefetch
  • 其他不常用方式,类似上面,这里不做介绍,有需要自行参考开源代码页面说明

三、使用示例

  • 命令使用范例参考

    //抓取face-recognition的使用文档,并把内容保存到face-recognition.txt文件,默认开启3个并发处理
    sitefetch https://face-recognition.readthedocs.io/en/latest -o face-recognition.txt
    //指定并发数量为10
    sitefetch https://face-recognition.readthedocs.io/en/latest -o face-recognition.txt --concurrency 10
    //指定获取那些页面的路径,如下
    sitefetch https://face-recognition.readthedocs.io/en/latest -m "/en/**" -o face-recognition.txt
    //指定获取页面中CSS选择器中的内容(页面中有些内容是框架固定内容,不是我们想要的,我们只需要页面中某个区域的内容,这个时候有必要指定)
    sitefetch https://face-recognition.readthedocs.io/en/latest --content-selector ".document"
  • 命令执行截图

  • 抓取到的内容,参考下面截图(该内容特别适合投喂给AI,建立RAG知识库等)

  • 快速使用这个文件建立本地RAG知识库,可以参考文章:https://blog.luler.top/d/30

四、总结

  • 这是一个非常有用的生产力小工具,递归抓取、markdown解析这些功能在建立RAG知识库需求中非常刚需
  • 部分场景不适用,如不能自动分页(只是基于内容中存在的链接做深度挖掘),不能抓取动态渲染内容
  • 代码是开源,提供API接入,也可以fork过来做扩展与调整
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容