一、简介
- 一键递归爬取整个网站并将其保存为一个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
暂无评论内容